Πολύ σωστές οι παρατηρήσεις των παιδιών, που σου απάντησαν.
Δεν πειράζει που δεν ξέρεις πίνακες. Για αρχή προσπάθησε να το φτιάξεις με όσα ξέρεις τώρα, κι έπειτα επιχειρείς να το φτιάξεις και με πίνακα. Δοκίμασε να χρησιμοποιήσεις τη switch (τη δομή της σ' την έδωσαν παραπάνω), για να μη γεμίσεις όλο if.
Επίσης, τα προγράμματα σου να κοιτάς να ανταποκρίνονται όσο γίνεται στην πραγματικότητα. Στην άσκησή σου, θα μπορούσες να παίρνεις κι ονοματεπώνυμο, ώστε να πετάς ένα όμορφο μηνυματάκι με εκτύπωση των στοιχείων.
Ο πιο σωστός τρόπος, θα ήταν να χρησιμοποιούσες μια δομή επανάληψης, μέσα στην οποία θα έπαιρνες απ' τον χρήστη το ονοματεπώνυμο και την επιλογή, για την κατεύθυνση. Έπειτα, θα είχες την switch, με τις ανάλογες περιπτώσεις, όπου θα είχες τα μαθήματα της κατεύθυνσης, θα έπαιρνες τις ώρες απ' τον χρήστη και τέλος, θα πετούσες ένα μηνυματάκι ότι ο τάδε μαθητής είναι στην τάδε κατεύθυνση κι έχει Χ ώρες Χ μάθημα. Κι όλο αυτό θα επαναλαμβάνεται για όσους μαθητές επιλέξεις εσύ, ή ο χρήστης -ανάλογα πώς θες να κάνεις το πρόγραμμά σου.
Δεν ξέρω C++, αλλά στην έφτιαξα σε C#, για να την δεις. Αλλά προσπάθησε πρώτα, κι έπειτα δες την.
Spoiler
Code:
using System;
namespace proxeiro
{
class MainClass
{
public static void Main (string[] args)
{
string onoma, epitheto;
int i,epil,math_kat,fus_kat,lat,ekth;
for(i=0;i<=10;i++){
Console.WriteLine("Δωσε ονοματεπωνυμο");
onoma=Console.ReadLine();
epitheto=Console.ReadLine();
do{
Console.WriteLine("Δωσε κατευθυνση");
Console.WriteLine("1. Tεχνολογική 2. Θετική 3. Θεωρητική");
epil=Int32.Parse(Console.ReadLine());
}while(epil<1 || epil>3);
switch(epil){
case 1:
Console.WriteLine("ΜΑΘΗΜΑΤΑ");
Console.WriteLine("Μαθηματικα κατευθυνσης");
Console.WriteLine("Φυσικη κατευθυνσης");
Console.WriteLine("ΔΩΣΕ ΩΡΕΣ");
Console.WriteLine("Μαθηματικα κατευθυνσης");
math_kat=Int32.Parse(Console.ReadLine());
Console.WriteLine("Φυσικη κατευθυνσης");
fus_kat=Int32.Parse(Console.ReadLine());
Console.WriteLine("EΚΤΥΠΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ");
Console.WriteLine("Ο μαθητης {0} {1} ειναι Τεχνολογικη κατευθυνση", onoma, epitheto);
Console.WriteLine("Εχει {0} ωρες μαθηματικα κατευθυνσης και {1} ωρες φυσικη κατευθυνσης",math_kat,fus_kat);
break;
case 2:
Console.WriteLine("ΜΑΘΗΜΑΤΑ");
Console.WriteLine("Μαθηματικα κατευθυνσης");
Console.WriteLine("Φυσικη κατευθυνσης");
Console.WriteLine("ΔΩΣΕ ΩΡΕΣ");
Console.WriteLine("Μαθηματικα κατευθυνσης");
math_kat=Int32.Parse(Console.ReadLine());
Console.WriteLine("Φυσικη κατευθυνσης");
fus_kat=Int32.Parse(Console.ReadLine());
Console.WriteLine("EΚΤΥΠΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ");
Console.WriteLine("Ο μαθητης {0} {1} ειναι Θετικη κατευθυνση", onoma, epitheto);
Console.WriteLine("Εχει {0} ωρες μαθηματικα κατευθυνσης και {1} ωρες φυσικη κατευθυνσης", math_kat,fus_kat);
break;
case 3:
Console.WriteLine("ΜΑΘΗΜΑΤΑ");
Console.WriteLine("Λατινικα");
Console.WriteLine("Εκθεση");
Console.WriteLine("ΔΩΣΕ ΩΡΕΣ");
Console.WriteLine("Λατινικα");
lat=Int32.Parse(Console.ReadLine());
Console.WriteLine("Εκθεση");
ekth=Int32.Parse(Console.ReadLine());
Console.WriteLine("EΚΤΥΠΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ");
Console.WriteLine("Ο μαθητης {0} {1} ειναι Θεωρητικη κατευθυνση", onoma, epitheto);
Console.WriteLine("Εχει {0} ωρες Λατινικα και {1} ωρες Εκθεση",lat,ekth);
break;
}
}
Console.ReadKey();
}
}
}