- Kulan
- Medlem ●
- Varberg
- 2011-06-19 19:33
Hej!
Håller på med en nybörjarkurs i C++ och använder Xcode för att koda i. Det har fungerat kanon men när jag försöker köra koden här nedanför kommer det i bland bara texten MENY, eller så kommer det ingenting alls. Programmet fortsätter att köra men jag kan inte göra några inmatningar.
Skickar jag däremot över den kompilerade filen i mappen Products till terminalen med högerklick och Open with external editor fungerar det som det skall.
Till saken hör att jag har gjort 40 - 50 olika exempel tidigare och då har det fungerat.
Någon som har en idé om det kan vara någon inställning eller något som gör detta?
Det är Xcode 4.0.2 som jag använder.
// Skapa en struct som heter Person. Person ska kunna hantera data f√∂r namn och // √•lder. Person ska lagras i ett f√§lt Familjemedlemmar med plats f√∂r fem personer. // F√∂ljande funktioner ska ing√• i programmet: // nyPerson() Inl√§sning av namn och √•lder. // sorteraAlder() Sorterar familjemedlemmar efter √•lder. // visaPerson() Skriver ut namn och √•lder p√• Person. // Det ska √§ven finnas en meny som kan hantera ovanst√•ende funktioner. // main.cpp // InlaÃàmningsuppgift 1 // // Created by Johan Nilsson on 2011-06-16. // Copyright 2011 Consultec Byggprogram AB. All rights reserved. // #include <iostream> #include <string> #include <iomanip> using namespace std; struct Person { string namn; int alder; }; Person nyPerson(); void sorteraAlder(Person p[], int antal, string& sort); void visaPerson(Person p, string sort); int main () { const int ANTAL = 2; Person familjeMedlemmar[ANTAL]; char menyVal; string sorterad = "osorterad"; bool fortsatt = true; do { cout << " MENY\n"; cout << "1. Mata in person och ålder (5 st). \n"; cout << "2. Sortera personerna efter ålder.\n"; cout << "3. Visa lista med personer.\n"; cout << "0. Avsluta.\n"; cin >> menyVal; cin.ignore(1000, '\n'); switch (menyVal) { case '1': for (int i = 0; i < ANTAL; i++) { familjeMedlemmar[i] = nyPerson(); if (i == ANTAL-1) { cout << "Du har nu matat in " << ANTAL << '/' << ANTAL << " personer.\n"; } } break; case '2': cout << "Sorterar lista...\n"; sorteraAlder(familjeMedlemmar, ANTAL, sorterad); cout << "KLART, listan är sorterad!\n"; break; case '3': cout << "Listan är nu " << sorterad << ".\n"; for (int i = 0; i < ANTAL; i++) { visaPerson(familjeMedlemmar[i], sorterad); } break; case '0': fortsatt = false; break; default: cout << "Felinmatning! \n\n" ; break; } }while (fortsatt); return 0; } // nyPerson() Inl√§sning av namn och √•lder. Person nyPerson() { Person p; cout << "Skriv in namn: " << endl ; getline(cin, p.namn); cout << "och ålder: "; cin >> p.alder; cin.ignore(1000, '\n'); return p; } // sorteraAlder() Sorterar familjemedlemmar efter √•lder. void sorteraAlder(Person p[], int antal, string& sort) { for (int m = 1; m < antal; m++) { int pos = m; Person temp = p[m]; while (pos > 0 && p[pos-1].alder > temp.alder) { p[pos] = p[pos-1]; pos--; } p[pos] = temp; } sort = "sorterad"; } // visaPerson() Skriver ut namn och √•lder p√• Person. void visaPerson(Person p, string sort) { cout << left << setw(30) << p.namn << setw(3) << p.alder << endl ; }