Forum: Problem med vektorer

Forum huvudsida -> Programmering -> Problem med vektorer

Sidor: 1

Till botten

hejsansvejsan 10:38 - 3:e December 2010 | Post #1
Medlem
Inlägg: 4


Skicka PM

Tja, första inlägget för mig i detta forum, nice.

Jag har följande problem:

Jag ska göra ett program som frågar efter ens för- och efternamn, betyget som man borde få och ens ålder.

Betygen är A, B, C och D.

sedan ska det skriva ut:

Namn: efternamn, förnamn
Betyg: Betyg - 1, alltså om betyget är A ska den skriva B osv.
Ålder:

jag får inte betygsdelen att fungera alls, här har ni koden:

#include <iostream>
#include <Windows.h>
#include <cstring>

using namespace std;


int main()
{
    SetConsoleOutputCP(1252);
    using namespace std;

    char namn[30];
    char enamn[40];
    char betyg[5] = {'A', 'B', 'C', 'D', '\0'};
    int ald;
    betyg = betyg + 1;

    


    cout << "Skriv in ditt förnamn: ";
    cin.get(namn, 30);
    cout << "Och ditt efternamn: ";
    cin >> enamn;
    cout << "Vilket betyg borde du få? ";
    cin >> betyg;
    cout << "Skriv in din ålder: ";
    cin >> ald;
    cout << endl << "Namn: " << enamn << ", " << namn << endl;
    cout << "Betyg: " << betyg << endl;
    cout << "Ålder: " << ald << endl;

    

    cin.get();
    cin.get();
    return 0;
}

Detta är en uppgift i en bok av Stephen Prata.

hjälp uppskattas!






NetNinja 22:13 - 3:e December 2010 | Post #2
Medlem
Inlägg: 116


Skicka PM

Första saken du kan göra är att ta bort using namespace std; från under SetConsoleOutputCP anropet.

Inte använt SetConsoleOutputCP innan så inte säker på vad den gör man kan kommentera bort den sålänge.

Såhär kan man göra:

#include <iostream>
#include <Windows.h>
#include <cstring>
using namespace std;

const char betyg[] = {'A', 'B', 'C', 'D'};
int Clamp(int value, int min, int max);
int GradeToInt(char grade);

int main()
{
SetConsoleOutputCP(1252);

char ditt_namn[30];
char ditt_enamn[40];
char ditt_betyg;
int ald;

cout << "Skriv in ditt förnamn: ";
cin.get(ditt_namn, 30);

cout << "Och ditt efternamn: ";
cin >> ditt_enamn;

cout << "Vilket betyg borde du få? ";
    char grade;
cin >> grade;
    grade = Clamp(GradeToInt(grade) + 1, 0, 4);
    ditt_betyg = betyg[grade];

cout << "Skriv in din ålder: ";
cin >> ald;
cout << endl << "Namn: " << ditt_enamn << ", " << ditt_namn << endl;
cout << "Betyg: " << ditt_betyg << endl;
cout << "Ålder: " << ald << endl;

cin.get();
cin.get();
return 0;
}

int Clamp(int value, int min, int max)
{
    if(value < min)
        return min;
    if(value > max)
        return max;
    return value;
}

int GradeToInt(char grade)
{
    switch(grade)
    {
    case 'a':
    case 'A':
        return 0;
    case 'b':
    case 'B':
        return 1;
    case 'c':
    case 'C':
        return 2;
    case 'd':
    case 'D':
        return 3;
    }
}



-------------------------





Sidor: 1

Forum huvudsida -> Programmering -> Problem med vektorer
Atom feed

Du får inte posta i den här tråden | Till toppen