Dead_Rabbit Skrevet 24. juli 2005 Del Skrevet 24. juli 2005 Du må nok bruke if og litt sånt ja, hvis du vil ha det til at man får ut informasjon om en person ved å skrive inn et navn Hvis du er interessert, så kan godt skrive et eksempel på hva du kan gjøre for å oppnå det du i utgangspungtet ville. Lenke til kommentar
f00b Skrevet 24. juli 2005 Forfatter Del Skrevet 24. juli 2005 Du må nok bruke if og litt sånt ja, hvis du vil ha det til at man får ut informasjon om en person ved å skrive inn et navn Hvis du er interessert, så kan godt skrive et eksempel på hva du kan gjøre for å oppnå det du i utgangspungtet ville. Det hadde vært supert! Lenke til kommentar
prebenl Skrevet 24. juli 2005 Del Skrevet 24. juli 2005 Først og fremst bør main returnere noe. Det vanligste er åpenbart 0. Neste feil er at du lager en char og skal putte mange tegn inn i den. Ganske usikker på hvordan det går. Mener bestemt at standarden ikke krever returverdi fra main. Men det er jo sant at de fleste velger å returnere 0. Lenke til kommentar
☀ ❄ Skrevet 24. juli 2005 Del Skrevet 24. juli 2005 Mener bestemt at standarden ikke krever returverdi fra main. Men det er jo sant at de fleste velger å returnere 0. Delvis sant. main() skal returnere et heltall, men det trenger ikke å være 0 selv om programmet har kjørt feilfritt. Dette er i utgangspunktet plattformbestemt, og det er lurt å følge konvensjonen plattformen bruker. Lenke til kommentar
Dead_Rabbit Skrevet 24. juli 2005 Del Skrevet 24. juli 2005 Sånn. Fikk rota sammen et lite eksempel her nå. Er vel egentlig ikke slik jeg ville gjort det i og med at det blir vanskelig å vedlikeholde hvis man vil legge til flere personer, andre funksjoner, osv. men.. Kan godt slenge inn et eksempel som er lettere å vedlikeholde hvis du vil det. main.cpp: #include <iostream> #include <string> #include "person.hpp" using namespace std; int main() { Person jarle, kjartan; jarle.name = "Jarle"; jarle.age = 25; jarle.weight = 76; kjartan.name = "Kjartan"; kjartan.age = 22; kjartan.weight = 86; cout << "Skriv inn navn: "; string name; getline(cin, name); Person* ptp = 0; if(name == jarle.name) ptp = &jarle; else if(name == kjartan.name) ptp = &kjartan; else cout << "Fant ingen person med navn " << name << endl;; if(ptp) cout << "\nName:\t" << ptp->name << "\nAge:\t" << ptp->age << "\nWeight\t" << ptp->weight << endl << endl; return 0; } person.hpp: #ifndef _person_hpp_ #define _person_hpp_ #include <string> struct Person { std::string name; int age; int weight; }; #endif Lenke til kommentar
prebenl Skrevet 27. juli 2005 Del Skrevet 27. juli 2005 (endret) Mener bestemt at standarden ikke krever returverdi fra main. Men det er jo sant at de fleste velger å returnere 0. Delvis sant. main() skal returnere et heltall, men det trenger ikke å være 0 selv om programmet har kjørt feilfritt. Dette er i utgangspunktet plattformbestemt, og det er lurt å følge konvensjonen plattformen bruker. Du sier feil. main() skal returnere et heltall, men du trenger ikke gjøre det selv, da den automatisk returnerer 0 om den når slutten. Eldre kompilatorer vil kanskje gi deg en advarsel om du utelater return ved slutten av main(), men i følge standarden er det ikke nødvendig. Om du nekter å tro det, kan du selv slå opp i standarden på paragraf 3.6.1, punkt nummer 5. Endret 27. juli 2005 av Geofrank Lenke til kommentar
Dead_Rabbit Skrevet 27. juli 2005 Del Skrevet 27. juli 2005 Jepp, ser ut til at det stemmer. #include <iostream> using namespace std; int main() { cout << "Hello, world!\n"; } Prøvde å kompilere med og uten -ansi parameteret: g++ testfil.cpp -o testfil Funker fint, og g++ -ansi testfil.cpp -o testfil funker også fint. ..Det som var litt merkelig var at jeg ikke fikk noen advarsel, selv da jeg kompilerte med -Wall... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå