peeyack [ Weekend Warrior ]
Problem z C++
Witam. Poradzcie co z tym programem jest nie tak. Ma zwracac zadane info po wpisaniu odpowiedniego nazwiska, a inne info po wpisaniu jakiegokolwiek innego.
Skladnia jest nastepujaca:
#include<iostream>
#pragma hdrstop
#include <iomanip>
#include <string>
using namespace std;
#pragma argsused
int main(int argc, char* argv[])
char i,Kowalski;
cout<<"Wprowadz nazwisko:"<<endl;
cin>>i;
i==Kowalski;
if(i=Kowalski)cout<<"Mam dla Ciebie jedna nowa wiadomosc, ktora brzmi:"<<i<<endl;
elsecout<<"Nie mam dla Ciebie zadenej wiadomosci"<<endl;
system("Pause");
return 0;
Czekam z niecierpliowscia na jakiegos fachmana od C++. Dzieki z gory wielkie
ronn [ moralizator ]
Co prawda nie mam jeszcze C++ a jedynie C, ale :
= operator przypisania, czyli jesli masz i=kowalski, to i ZAWSZE bedzie rowne kowalski.
powinno byc ==
Llordus [ Generaďż˝ ]
zaczalbym od tego :)
#pragma hdrstop
#include <iomanip>
#include <string>
using namespace std;
#pragma argsused
int main(int argc, char* argv[])
‹char i,Kowalski;
cout<<"Wprowadz nazwisko:"<<endl;
cin>>i;
i==Kowalski; - po co to????
if(i==Kowalski)‹cout<<"Mam dla Ciebie jedna nowa wiadomosc, ktora brzmi:"<<i<<endl;›
else‹cout<<"Nie mam dla Ciebie zadenej wiadomosci"<<endl;›
system("Pause");
return 0;
diabelek1 [ szczęśliwy ]
i==Kowalski;
if(i=Kowalski)‹
Nie powinno byc:
i=Kowalski;
if(i==Kowalski)‹
Llordus [ Generaďż˝ ]
nie wiem dlaczego nie wygrubilo tego co jeszcze chcialem :)
if(i==Kowalski)
diabelek1 [ szczęśliwy ]
Tak mialo byc
if(i==Kowalski)‹
Ale widze, ze i tak w miedzyczasie juz bylo powiedziane to co milem zamiar powiedzec ;)
Llordus [ Generaďż˝ ]
diabelek --jak zrobi
i=Kowalski
to if (i== Kowalski) zawsze da true :)
co prawda z technicznego punktu jest to mozliwe, niemniej logicznie biorac nie ma najmniejszego sensu! ;)
aka [ Chor��y ]
Tak powinna wygladac zawartosc main:
int main()
string i, n = "Kowalski";
cout<<"Wprowadz nazwisko:"<<endl;
cin>>i;
if(i==n)
cout<<"Mam dla Ciebie jedna nowa wiadomosc, ktora brzmi:"<<i<<endl;
else
cout<<"Nie mam dla Ciebie zadenej wiadomosci"<<endl;
system("Pause");
return 0;
Immothep [ Errare humanum est. ]
diabelek --> żle, bo po wprowadzeniu innego nazwiska i tak zostanie do 'i' przypisane Kowalski, a to nie o to chodzi
Immothep [ Errare humanum est. ]
[edit:]
ooooo ale ruch w wątku ;)
Llordus [ Generaďż˝ ]
jeszcze jedno - jesli robisz cin>>i to czy przypadkiem i nie powinno byc typu char* ??
przyznam szczerze ze cin>> dawno sie nie bawilem, a nie mam teraz tego jak sprawdzic :(
diabelek1 [ szczęśliwy ]
Widze ze sie zamotalem ;)
Pierwszy post - zapomnialem wyciciac pierwszej linijki, drugi post - mialem na mysli, ze powinna sie pjawic zamiast dwoch poczatkowych linijek tylko ta druga. Wiec reasumujac napisze co mialem na mysli:
To:
i==Kowalski;
if(i=Kowalski)
Zamien na to:
if(i==Kowalski)
:)
Llordus [ Generaďż˝ ]
dobra, to jeszcze ja :)
jesli masz #include <string>
to zrob
string i;
i pozniej
cin>>i;
wtedy wczytasz cale nazwisko ;)
peeyack [ Weekend Warrior ]
Dzieki wielkie za pomoc, mam nadzieje, ze sie uda. Ja na C++ sie nie znam, umiem tylko Turbopascala, to bylo dla jednej bliskiej mi osoby, wiec nie powiem wam teraz, czy pomoglo, bo sam nie wiem.
Pozdrawiam