30 067 besökare online
856 542 medlemmar • 45 801 732 inlägg
Användarnamn 
Lösenord
Flashback Forum > Dator och IT > Systemutveckling > C / C++ / Assembler
Ämnet är stängt
Ämnesverktyg
jimmyemma
Medlem
Hej skulle var tacksam om nån kunde hjälpa mig med förslag på kod till 2 olika program!

Första programmet jag skulle behöva göra är:
Programmet presenterar en meny för användaren med fyra olika menyalternativ. För varje menyalternativ finns en funktion som anropas och skriver ut en text som är specifik för just det alternativet. Då utskriften har gjorts återvänder programmet till huvudmenyn och låter användaren göra ytterligare val.

andra programmet är:
Skapa ett program som låter användaren skriva in sitt namn (både för- och efternamn). Hela det inmatade namnet ska lagras i en enda char variabel. Då detta är gjort anropas en funktion som skriver ut namnet med efternamnet först. Förutom variabeln som inmatningen sker till, skall endast variabler av int typ användas.

Vore jätte tacksam om någon kunde hjälpa mig med detta!
 
jarlen
Medlem
jarlens avatar
Borde väl stå i din kurslitteratur?
 
monoceres
Medlem
monoceress avatar
Citat:
Ursprungligen postat av jimmyemma
...Hela det inmatade namnet ska lagras i en enda char variabel...

Om det står sådär ordagrannt i intruktionerna från läraren / från boken borde läraren sparkas alternativt boken kastas ut. Vad som menas är förmodligen en char array, bara så du vet sen när du kommit igång
__________________
Flashbacks roligaste inlägg
 
R.R
Medlem
R.Rs avatar
Citat:
Ursprungligen postat av jimmyemma
Hej skulle var tacksam om nån kunde hjälpa mig med förslag på kod till 2 olika program!

Första programmet jag skulle behöva göra är:
Programmet presenterar en meny för användaren med fyra olika menyalternativ. För varje menyalternativ finns en funktion som anropas och skriver ut en text som är specifik för just det alternativet. Då utskriften har gjorts återvänder programmet till huvudmenyn och låter användaren göra ytterligare val.

andra programmet är:
Skapa ett program som låter användaren skriva in sitt namn (både för- och efternamn). Hela det inmatade namnet ska lagras i en enda char variabel. Då detta är gjort anropas en funktion som skriver ut namnet med efternamnet först. Förutom variabeln som inmatningen sker till, skall endast variabler av int typ användas.

Vore jätte tacksam om någon kunde hjälpa mig med detta!

Fråga gärna om mer specifika saker i koden, hela program får du fixa själv för annars lär du dej inget. Dock ska du få några tips på ettan, har lite brådis.

Program 1 - Lägg huvudprogrammet i en while/do while loop. Skriv ut menyn, ta in input och använd sedan switch. Anropa funktionerna inifrån switch (googla&läs om switch ifall du inte känner till hur det fungerar).
__________________
Kommer jag på dig med att stå och locka folk med dubbelnugge igen blir det fan synd om dig!
 
jimmyemma
Medlem
alltså på uppgift 1 har jag börjat såhär

#include <iostream>
#include <iomanip>
using namespace std;

double klot(double radie);
double ratblock(double langd, bredd, hojd);
double cylinder(double radie, hojd);

const double PI = 3.14159;

int main(){
char val;
bool fortsatt = true;
double radie, langd, bredd, hojd, volym;
do{
cout << " MENY \n ";
cout << "1. Klot\n ";
cout << "2. Rätblock\n ";
cout << "3. Cylinder\n ";
cout << "4. Avsluta\nGe ditt val: ";
cin >> val;
switch(val){
case '1':
cout << "Ange radien: ";
cin >> radie;

double volym = klot(radie);
break;

case '2':
cout << "Längd, bredd och höjd: ";
cin >> langd >> bredd >> hojd;

double volym = ratblock(langd, bredd, hojd);
break;

case '3':
cout << "Ange radie och höjd: ";
cin >> radie >> hojd;

double volym = cylinder(radie, hojd);
break;

case '4':
fortsatt = false;
break;

default:
cout << "Felinmatning.\n\n";

}
if (val == '1' || val == '2' || val = '3'){
cout << "Volymen blir "
<< fixed << setprecision(2)
<< volym << "\n\n";
}
}while (fortsatt);
return 0;
}

double klot(double radie)
{
double volym = (4*PI*radie*radie*radie/3;
return volym;
}

double ratblock(double langd, bredd, hojd)
{
double volym = (langd*bredd*hojd);
return volym;
}

double cylinder(double radie, hojd)
{
double volym = (PI*radie*radie*hojd);
return volym;
}


Men det funkar inte så bra.. e det på rätt spår lr?
 
R.R
Medlem
R.Rs avatar
Vad får du för fel vid kompileringen/körningen? Posta så blir det mycket enklare att åtgärda.
__________________
Kommer jag på dig med att stå och locka folk med dubbelnugge igen blir det fan synd om dig!
 
liqueur
Medlem
liqueurs avatar
jodå, du är inne på rätt spår,

du har följande fel i din källkod.


1. i funktionsdeklarationer måste man specifiera typ för alla parametrar
Kod:
//Detta är fel. //double ratblock(double langd, bredd, hojd); // fel //Så här ska det se ut. double ratblock(double langd, double bredd, double hojd); // Rätt

2. Du har definierat variabeln volym även inne i switch satsen, använd endast tilldelning.

Kod:
// du kan inte skapa en variabel inne i en switch sats, // Fel //double volym = ratblock(langd, bredd, hojd); //Rätt volym = ratblock(langd, bredd, hojd);


3. Indentering.
Detta är inget fel, men det underlättar läsning av koden när koden är indenterad.
 
jimmyemma
Medlem
nice tack tack nu funka det mycke bättre nu e det bara 1 fel som kommer upp som jag inte riktigt förstår, det lyder såhär:

C:\Program\Microsoft Visual Studio\MyProjects\uppgift2a\uppgift2a.cpp(52) : warning C4305: '=' : truncation from 'const char' to 'bool'
C:\Program\Microsoft Visual Studio\MyProjects\uppgift2a\uppgift2a.cpp(52) : error C2106: '=' : left operand must be l-value

förstår inte riktigt vad som menas med det felet!
 
Ubi
Medlem
Ubis avatar
Citat:
Ursprungligen postat av jimmyemma
nice tack tack nu funka det mycke bättre nu e det bara 1 fel som kommer upp som jag inte riktigt förstår, det lyder såhär:

C:\Program\Microsoft Visual Studio\MyProjects\uppgift2a\uppgift2a.cpp(52) : warning C4305: '=' : truncation from 'const char' to 'bool'
C:\Program\Microsoft Visual Studio\MyProjects\uppgift2a\uppgift2a.cpp(52) : error C2106: '=' : left operand must be l-value

förstår inte riktigt vad som menas med det felet!

Du har missat ett =

Kod:
//FEL //if (val == '1' || val == '2' || val = '3'){ //Rätt if (val == '1' || val == '2' || val == '3'){

Det är nog inte där du får felmedelandet men det kan vara bra att veta
__________________
Färjestad!
__________________
Senast redigerad av Ubi 2009-01-19 kl. 21:28.
 
jimmyemma
Medlem
oj slarv av mig! tack tack !
 
dotHalfDane
Medlem
Jag är ny till forumet och till programmering i c++, och jag vill bara säga att jag får det inte att funka varken åt höger eller vänster. Kan någon hinta eller länka en "färdig" version utav programmet?
 
d01sh
Medlem
d01shs avatar
Citat:
Ursprungligen postat av dotHalfDane
Jag är ny till forumet och till programmering i c++, och jag vill bara säga att jag får det inte att funka varken åt höger eller vänster. Kan någon hinta eller länka en "färdig" version utav programmet?

Till vilket program? Tråden du skriver i är ju över tre år gammal.
__________________
LTH och Lund "for the win"!
 
Ämnet är stängt
Topp Dela »