Permalänk

Hjälp med C++!

Hej!

Jag är relativt ny till det här med kodande - alla språk - och har fått en liten uppgift av en kompis att lösa.

Man ska mata in när hästar startar och när de går i mål. Inmatningen sker i timmar, minuter, sekunder.

När inmatningen är klar ska följande skrivas ut:

Vinnare (nummer)
Hur lång tid det tog
Antal tävlande

Jag har kommit en bit på vägen, men behöver lite hjälp.

Jag vill kunna mata in fler än en häst, OBS får inte använda array.
Hittade någonting med:
min = numeric_limits<int>::max();
max = numeric_limits<int>::min();
Men förstår inte riktigt hur man använder det.

Programmet ska även ta hänsyn till midnatt. Hur löser jag det?

Sen behöver jag hjälp med uträkningen av vinnartiden! Pinsamt.

Tips på hur jag snyggar upp det hela är varmt välkommet! (Jag har delat in det i kolumner, men det blev inte så när jag klistrade in det.)

Ta gärna hänsyn till att det här är nytt, och att jag eventuellt inte förstår vad ni kommer säga.

Koden:

#include <iostream>
#include"conio+.h"

using namespace std;

int main()
{

int antal = 0, nummer = 0, starttim = 0, startmin = 0, startsek = 0, maltim = 0, malmin = 0, malsek = 0, starttid = 0, maltid = 0;
int vinnartid= 0, vinnartim = 0, vinnarmin = 0, vinnarsek = 0;

cout<<"Startnummer: ";
cin>>nummer;

if(nummer>0)
{

do{
antal++;

cout<<"Starttid: ";
cin>>starttim>>startmin>>startsek;

starttim=starttim*3600;
startmin=startmin*60;
starttid=starttim+startmin+startsek;

cout<<"Timmar: "<<starttim<<endl<<"Minuter: "<<startmin<<endl<<"Sekunder: "<<startsek<<endl;
cout<<"Total: "<<starttid<<endl<<endl;

cout<<"Måltid: ";
cin>>maltim>>malmin>>malsek;

maltim=maltim*3600;
malmin=malmin*60;
maltid=maltim+malmin+malsek;

cout<<"Timmar: "<<maltim<<endl<<"Minuter: "<<malmin<<endl<<"Sekunder: "<<malsek<<endl;
cout<<"Total: "<<maltid<<endl;

cout<<"Antal: "<<antal<<endl;

cout<<"Startnummer: ";
cin>>nummer;

}while(nummer>0);
clrscr();

vinnartid=maltid-starttid;
vinnartim=vinnartid/3600;

cout<<vinnartim<<endl;
cout<<vinnarmin<<endl;
cout<<vinnarsek<<endl;

cout<<"Vinnare är startnummer: "<<nummer<<endl;
cout<<"Tim: "<<vinnartim<<cout<<" "<<cout<<"Min: "<<vinnarmin<<cout<<" "<<cout<<"Sek: "<<vinnarsek<<endl;
cout<<"Antal tävlande: "<<antal<<endl;
cout<<"Programmet Avslutas"<<endl;

}else

return 0;
}

Dold text

All hjälp uppskattas!

Visa signatur

Testar telefoner och tillbehör: www.apetech.se

Permalänk
Medlem

Vad jag personligen skulle använda är vektorer (Vet inte om det är vad din kompis menar dock) och ha en vektor till varje sak. En vector<int> för häst ID, sen respektiva vectorer för tider osv. Sen är det helt enkel vectorbehdling med for loopar som jag skulle använda.

v.size() för storleken
v.at(n) för att plocka ut en speciellt i vectorn

Permalänk
Hedersmedlem
Skrivet av Reyintaz:

Vad jag personligen skulle använda är vektorer (Vet inte om det är vad din kompis menar dock) och ha en vektor till varje sak. En vector<int> för häst ID, sen respektiva vectorer för tider osv. Sen är det helt enkel vectorbehdling med for loopar som jag skulle använda.

v.size() för storleken
v.at(n) för att plocka ut en speciellt i vectorn

En vektor är dock en endimensionell array och det fick ju inte användas.

Detta låter också som en ganska typisk skoluppgift?

Permalänk
Skrivet av Shimonu:

En vektor är dock en endimensionell array och det fick ju inte användas.

Detta låter också som en ganska typisk skoluppgift?

Precis, när jag läste på lite om vektorer visade det sig att det var en typ av array.

Det är absolut möjligt att det är en skoluppgift. Kompisen läste nämligen C++ på gymnasiet och de fick ju en del uppgifter.

Visa signatur

Testar telefoner och tillbehör: www.apetech.se

Permalänk
Hedersmedlem

Ett alternativ till array kan vara en lista.

Permalänk
Medlem

pseudokod

sätt vinnarnummer = -1 sätt vinnartid = oändlighet sätt antal = 0 loopa tills input färdig { inmatning av häst_nummer, start och målgång sätt antal=antal+1 sätt aktuell_tid = räkna_tid(start, målgång) om aktuell_tid mindre än vinnartid { sätt vinnartid = aktuell_tid sätt vinnarnummer=häst_nummer } } skriv ut vinnarnummer, vinnartid och antal

Visa signatur

weeeee