Forum huvudsida -> Programmering -> hjälp med villkorssatser i c++
Sidor: 1
nerman | 18:29 - 6:e Maj 2007 | Post #1 | |
Medlem Inlägg: 8 Skicka PM |
jag håller på med ett program som inte funkar min kompliator är dev-c++ programet ska vara att om man skriver in rätt lösen så får man ett medelande. Men det funkar inte här är koderna #include <cstdlib> #include <iostream> using namespace std; using std::cout; using std::cin; int main() { cout << "password please"; cin >> ett_tal; if (ett_tal == 4815162342) { cout << "password corect" } else { cout << password incorect } cin.get(); return 0; } det står att det är fel med cin >> ett_tal; vet någon vad det är för fel |
ozamosi | 18:34 - 6:e Maj 2007 | Post #2 | |
Administratör Inlägg: 1129 Skicka PM |
Du har inte deklarerat variabeln ett_tal. Du behöver skriva int ett_tal; (eller behövs kanske double?) på en ny rad ovanför. ------------------------- Ljusblå |
Tesuki | 18:39 - 6:e Maj 2007 | Post #3 | |
Medlem Inlägg: 122 Skicka PM |
snälla använd kodblock. sedan verkar det som att du glömt lägga till raden: long int ett_tal; innan cin >> ett_tal; lägg till den först men rekommenderat är att använda en sträng för sådant så slipper man oroa sig för att talet ska bli förstort för datatypen.
|
ozamosi | 18:43 - 6:e Maj 2007 | Post #4 | |
Administratör Inlägg: 1129 Skicka PM |
Du använder ju inte en sträng, utan en teckenlista. Med den behöver du ju ändå oroa dig... ------------------------- Ljusblå |
Tesuki | 18:50 - 6:e Maj 2007 | Post #5 | |
Medlem Inlägg: 122 Skicka PM |
tjat ozamosi innan main()
inuti main()
sådär nu har du en sträng C++ style Senast redigerad 19:56 - 6:e Maj 2007 |
FunkyChicken | 19:42 - 6:e Maj 2007 | Post #6 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Inte för att va petig, bara så det inte blir några missförstånd om man inte kan språket så bra: I tesukis första förslag saknas några ; och ". |
Nissebosselasse | 21:45 - 6:e Maj 2007 | Post #7 | |
Medlem Inlägg: 490 Skicka PM |
nerman: fundera lite över de här tre raderna också: using namespace std; using std::cout; using std::cin; ,,r du helt på det klara med vad using-direktivet är till för? Här finns mer att läsa om namnrymder och using: http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.5 tesuki: if (correctPassword.compare(inputPassword) == 0) Sitter du mycket i Java? Jag tycker det är lättare att läsa följande kod: if (correctPassword == inputPassword) ------------------------- http://pushingcows.se Gula Nallen |
Tesuki | 22:50 - 6:e Maj 2007 | Post #8 | |
Medlem Inlägg: 122 Skicka PM |
jo jag jobbar huvudsakligen med java. fast gillar använda str.compare() för att det fungerar bra för mig och == går inte jämföra mellan char och string, så använder den för att det inte ska bli fel. men jovisst fungerar fin fint att använda ==. sedan så tror jag att man i det första exeplet måste inkludera cstring så skriv innan main: #include <cstring> för annars tror jag att strcmp() kommer generera fel. |
Nissebosselasse | 16:22 - 7:e Maj 2007 | Post #9 | |
Medlem Inlägg: 490 Skicka PM |
Citat av Tesuki: jo jag jobbar huvudsakligen med java. fast gillar använda str.compare() för att det fungerar bra för mig och == går inte jämföra mellan char och string, så använder den för att det inte ska bli fel. #include <iostream> #include <string> int main (int argc, char *argv[]) { std::string str; std::cin >> str; if (str[0] == 'q') std::cout << "Ett q." << std::endl; return 0; } Jämför mot första tecknet i strängen, eller vad det inte så du menade? Nej du kan inte skriva if (str == 'q'), men å andra sidan hade du inte heller använt den jämförelsen med en char []. Mig veterligen så är operator== egentligen bara ett anrop till compare, så du behöver ju inte vara orolig för att den ene är sämre än den andre... ------------------------- http://pushingcows.se Gula Nallen |
Sidor: 1
Forum huvudsida -> Programmering -> hjälp med villkorssatser i c++
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-05 04:56
Vecka: 18
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.