Forum huvudsida -> Programmering -> Vad är fel ? c++
Sidor: 1
guno | 13:22 - 13:e Oktober 2006 | Post #1 | |
Medlem Inlägg: 6 Skicka PM |
Tjena, jag är somsagt nybörjare och har försökt kodat ett eget litet program men den säger att; if (natt == 'inget') Det är fel där, vad är fel ? hare! #include <iostream> using std::cout; using std::cin; int main() { char natt; cout << "Tja, vad händer: "; cin >> natt; if (natt == 'inget') { cout << "samma här"; cout << "men det är ju skola snart"; } else { int tid; cout << "Ok, nar borjar skolan?"; cin >> tid; cout << "ok, då ses vi kl " << tid << " då!; } cin.get(); cin.get(); return 0; } [SOURCE=cpp][/SOURCE] ------------------------- Ingen signatur! |
Independence | 14:20 - 13:e Oktober 2006 | Post #2 | |
Administratör Inlägg: 1800 Skicka PM |
char lagrar endast ett tecken, du får skapa en sk. array av char-element för att lagra ord. Alternativt kan du använda strängar vilket förenklar en hel del. Se C++-guiden. ------------------------- Vi är riddarna som säger fiskbulle! |
Lajnold | 14:21 - 13:e Oktober 2006 | Post #3 | |
Medlem Inlägg: 65 Skicka PM |
En char kan inte innehålla mer än ett tecken. I din jämförelse så använder du vanliga apostrofer, vilka är för char, och alltså bara ett tecken. Istället så måste du använda citationstecken (alltså "inget"). Du kan dock ändå inte jämföra en char (natt) med en sträng (eller snarare 'const char *'). Skapa istället natt som en array av chars, och jämför sedan strängarna med strcpy. char natt[32]; // Läs in strängen. if(!strcpy(natt, "inget")) { // Användaren skrev in "inget". } Men lättare är att använda string-klassen. #include <string> string natt; // Läs in strängen. if(natt == "inget")) { // Användaren skrev in "inget". } ------------------------- Ingen signatur! |
Independence | 14:23 - 13:e Oktober 2006 | Post #4 | |
Administratör Inlägg: 1800 Skicka PM |
Hehe, där kom ett lite mer utförligt svar också ------------------------- Vi är riddarna som säger fiskbulle! |
guno | 14:24 - 13:e Oktober 2006 | Post #5 | |
Medlem Inlägg: 6 Skicka PM |
Nu blir ja snurrig kan nån skriva klart skripet så att det funkar ? btw, håller på med "nybörjar guiden" ville bara testa mina kunskaper ------------------------- Ingen signatur! |
Lajnold | 14:31 - 13:e Oktober 2006 | Post #6 | |
Medlem Inlägg: 65 Skicka PM |
#include <iostream> #include <string> using std::cout; using std::cin; using std::string; int main() { string natt; cout << "Tja, vad händer: "; cin >> natt; if (natt == 'inget') { cout << "samma här"; cout << "men det är ju skola snart"; } else { int tid; cout << "Ok, nar borjar skolan?"; cin >> tid; cout << "ok, då ses vi kl " << tid << " då!"; // Här hade du missat ett citationstecken. } cin.ignore(cin.rdbuf()->in_avail()); cin.get(); return 0; } Något sådant. (Dock är det inte ett "skript") ------------------------- Ingen signatur! Senast redigerad 14:33 - 13:e Oktober 2006 |
guno | 14:32 - 13:e Oktober 2006 | Post #7 | |
Medlem Inlägg: 6 Skicka PM |
TACK ! ------------------------- Ingen signatur! |
guno | 14:59 - 13:e Oktober 2006 | Post #8 | |
Medlem Inlägg: 6 Skicka PM |
TACK ! ------------------------- Ingen signatur! |
Lajnold | 22:26 - 17:e Oktober 2006 | Post #9 | |
Medlem Inlägg: 65 Skicka PM |
Nu ser jag att jag har skrivit fel. Det ska naturligtvis vara strcmp (string compare), inte strcpy (string copy), i mitt första inlägg i den här tråden. ------------------------- Ingen signatur! Senast redigerad 22:27 - 17:e Oktober 2006 |
Sidor: 1
Forum huvudsida -> Programmering -> Vad är fel ? c++
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-07 09:26
Vecka: 19
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.