webForumDet fria alternativet

Läser Programmering A, C++ men kör win7..

7 svar · 2 654 visningar · startad av steel88

steel88Medlem sedan nov. 20103 inlägg
#1

först och främst vill jag säga hej. Hittade hit via google då jag insåg at jag inte klarar mina uppgifter utan en liten knuff.

Jag läser då Progr A C++ på distans via mirio. Enligt våran kursplan ska vi ha MS VB 6.0. Vilket jag provat köra i xp-mode i win7 utan framgång.

Har testat olika typer av compilatorer (borland vb mfl) utan at lyckas. tom då jag har en färdig kod från boken som är EXAKT så lyckas jag inte compilera koden. Är inte så hemma på detta. Har aldrig petat på c språket för (var dock med och gjorde ett spel i Turbo-pascal för typ 10 år sedan) men inget är sig likt längre.

Det jag försöker få hjälp med är helt enkelt en liten knuff i ryggen om vilket program jag ska köra med. Har VB 2010 Ultimate och VB c++ express. Men även i dessa lyckas jag inte.

De uppgifter jag ska slutföra är dessa:

1a)
Skapa ett program med tre olika variabler. En variabel av typen int, en av typen
char[n] och till sist en variabel av typen double. Programmet skall sedan efterfråga
inmatningar från användaren. Först ett heltal, sedan en sträng och sedan
ytterligare ett numeriskt värde. Programmet skriver sedan ut värdet på dessa tre
variabler. Användandet av funktionen cin.ignore() förutsätts för att få efterfrågad
funktionalitet.

1b)
Skapa ett program som kan ge förslag på färdsätt beroende på resans längd. Om
personen ska färdas mindre än 3 km ska programmet.

2a)
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.

2b)
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.

Om någon kan säga mig vilket program / lösning jag ska köra med blir jag super glad. Jag ber ingen göra koden åt mig utan bara ge mig lite hjälp.

Tack på förhand. Mvh Daniel

steel88Medlem sedan nov. 20103 inlägg
#2

varför funkar inte detta i VB 2010 ultimate i ett tomt projekt och en ccp fil?

# include <iostream>
int main()
{
	int t1, t2, pr;
	cout << " första ";
	cin >> t1;
	cout << " Andra ";
	cin >> t2;
	pr=t1*t2;
	cout << "resultat" << endl;
	cout << pr << endl;
}

Får inga felmeddelanden under debug. men så fort det är dags at tköra exe filen så hittas den inte! jag är verkligen helt rökt!

nitro2k01Medlem sedan aug. 20039 342 inlägg
#3

Prova att lägga till using namespace std; efter include-raden.

GunnarDMedlem sedan juni 20014 290 inlägg
#4

Kan vara att den inte hittar cin, cout och endl men det borde du få felmeddelande.

Prova följande kod (har bara lagt till "using namespace std;"):

#include <iostream>
using namespace std;

int main()
{
      int t1, t2, pr;
      cout << " första ";
      cin >> t1;
      cout << " Andra ";
      cin >> t2;
      pr=t1*t2;
      cout << "resultat" << endl;
      cout << pr << endl;
}

/Red: Nitro2k01 han före, som vanligt är jag lite långsam :)

cascaMedlem sedan feb. 20005 891 inlägg
#5

steel88 skrev:

Har testat olika typer av compilatorer (borland vb mfl) utan at lyckas. tom då jag har en färdig kod från boken som är EXAKT så lyckas jag inte compilera koden. Är inte så hemma på detta. Har aldrig petat på c språket för (var dock med och gjorde ett spel i Turbo-pascal för typ 10 år sedan) men inget är sig likt längre.

Det jag försöker få hjälp med är helt enkelt en liten knuff i ryggen om vilket program jag ska köra med. Har VB 2010 Ultimate och VB c++ express. Men även i dessa lyckas jag inte.

Med "VB c++ express", menar du Visual Studio Express C++? Den ska ju funka, har själv kört igenom ett antal C++-kurser med den som IDE.

Jag testade koden du pejstade, men la bara till using namespace std, och den fungerade utan problem. Efter kompilation låg en körbar fil i projektets /debug-mapp...

steel88Medlem sedan nov. 20103 inlägg
#6

tack för all hjälp. Lyckades dock lösa det själv genom en annan bok jag fick tag på igår kväll. Så från scratch så lärde jag mig mycket igår och idag. Gjorde klart den sista uppgiften runt 1 idag. Var lite lagom svårt att lösa 2b utan att använda string.

Men det gick. Om någon mer stöter på detta problems å kan jag posta mina lösningar här.

Först har vi 1a.
Här skulle man använda sig av "int", "char" och "double".

// Programmering A, C++. upg 1a
// Star Daniel S**** 18/11-2010
#include <iostream>
using namespace std;

int main()
{
	cout << "Programmering A, C++ upg 1a" << endl;
	cout << "===========================" << endl;

	char namn[20];
	cout << "Vad heter du (20 tecken, Utan mellanslag): ";
	cin >> namn;
	cin.ignore();

	int alder;
	cout << "Hur gammal är du: ";
	cin >> alder;

	double tal;
	cout << "Skriv ett decimaltal: ";
	cin >> tal;

	cout << " \t RESULTAT "				<< endl;
	cout << " ====================== "	<< endl;
	cout << " Ditt namn var: "			<< namn		<< endl;
	cout << " Din ålder var: "			<< alder	<< endl;
	cout << " Ditt decimaltal var: "	<< tal		<< endl;
	cout << " ====================== "	<< endl;

	
	return 0;
}

Sedan 1b.
Här skulle man göra ett program som gav förslag på resesätt utifrån en inmatad sträcka.

// Programmering A, C++. upg 1b.
// Star Daniel S**** 18/11-2010

#include <iostream>
using namespace std;

int main()
{
	cout << "Programmering A, C++ upg 1b" << endl;						//Endast Rubrik
	cout << "===========================" << endl;						//Endast Rubrik
	cout << "Färdsäts-beräknaren!		" << endl;						//Endast Rubrik
	
	char svar = 'j';
	while (svar == 'j' || svar == 'J') {

		double resa;
		cout << "====================================== "					<< endl;	//Endast för utseende.
		cout << " Ange i kilomterer hur långt du vill resa: ";
		cin >> resa;
		cout << "====================================== "					<< endl;	//Endast för utseende.

		if (resa <= 3) {
			cout << "====================================== "				<< endl;	//Endast för utseende.
			cout << " Du har anget att du ska resa: " << resa << " km. "	<< endl;
			cout << " Du gör nog bäst i att ta en promenad!"				<< endl;
			cout << "====================================== "				<< endl;	//Endast för utseende.			
		}

		else if (resa <= 8) {
			cout << "====================================== "				<< endl;	//Endast för utseende.
			cout << " Du har anget att du ska resa: " << resa << " km. "	<< endl;
			cout << " Du kan nog ta cykeln för denna resa! "				<< endl;
			cout << "====================================== "				<< endl;	//Endast för utseende.			
		}

		else if (resa >= 9) {
			cout << "====================================== "				<< endl;	//Endast för utseende.
			cout << " Du har anget att du ska resa: " << resa << " km. "	<< endl;
			cout << " Du bör ta bussen eller bilen dit du ska! "			<< endl;
			cout << "====================================== "				<< endl;	//Endast för utseende.			
		}

		cout << "====================================== "					<< endl;	//Endast för utseende.
		cout << " Vill du börja om? (j(n): ";
		cin >> svar;
	}
	
	cout << "====================================== "					<< endl;		//Endast för utseende.
	cout << "\t Tack för denna gång! " << endl;
	cout << "====================================== "					<< endl;		//Endast för utseende.

	return 0;
}

sedan har vi 2a.
Här skulle man bygga en meny med 4 alternativ varav varje alternativ gav en funktion. I mitt fall 4 olika räknesätt

// Programmering A, C++. upg 2a.
// Star Daniel S**** 18/11-2010

#include <iostream>
using namespace std;

int main()
{
	cout << "Programmering A, C++ upg 2a" << endl;						//Endast Rubrik
	cout << "===========================" << endl;						//Endast Rubrik
	cout << "Kalkylator med meny!		" << endl;						//Endast Rubrik
	
	char svar = 'j';
	while (svar == 'j' || svar == 'J') {
	char val;
	double a1, a2, a3, s1, s2, s3, m1, m2, m3, d1, d2, d3;
	
		cout << " \t MENY!						"<< endl;				//Endast utseende
		cout << " +-------------------------+	"<< endl;				//Endast utseende
		cout << " | 1. (+) Addition.			"<< endl;				//meny
		cout << " | 2. (-) Subtraktion.			"<< endl;				//
		cout << " | 3. (*) Multiplikation.		"<< endl;               //meny
		cout << " | 4. (/) Division.			"<< endl;               //
		cout << " | Gör dit val (1-4):			"<< endl;               //meny
		cout << " +-------------------------+	"<< endl;				//Endast utseende
		cout << " | Ditt val; ";										//meny
		cin >> val;
		switch (val) {
			case '1':
				cout << "\t (+) Addition.		"<< endl;
				cout << "\t Ange första talet ";
				cin >> a1;
				cout << "\t Ange andra talet ";
				cin >> a2;
				a3=a1+a2;
				cout << "=== RESULTAT ===" << endl;						//Endast utseende
				cout << a1 << " + " << a2 << " blir " << a3 << endl;
				cout << "================" << endl;						//Endast utseende
				
				break;
			
			case '2':
				cout << "\t (-) Subtraktion.	"<< endl;
				cout << "\t Ange första talet ";
				cin >> s1;
				cout << "\t Ange andra talet ";
				cin >> s2;
				s3=s1-s2;
				cout << "=== RESULTAT ===" << endl;						//Endast utseende
				cout << s1 << " - " << s2 << " blir " << s3 << endl;
				cout << "================" << endl;						//Endast utseende

				break;
			
			case '3':
				cout << "\t (*) Multiplikation.	"<< endl;
				cout << "\t Ange första talet ";
				cin >> m1;
				cout << "\t Ange andra talet ";
				cin >> m2;
				m3=m1*m2;
				cout << "=== RESULTAT ===" << endl;						//Endast utseende
				cout << m1 << " * " << m2 << " blir " << m3 << endl;
				cout << "================" << endl;						//Endast utseende
		
				break;
			
			case '4':
				cout << "\t (/) Division.		"<< endl;
				cout << "\t Ange första talet ";
				cin >> d1;
				cout << "\t Ange andra talet ";
				cin >> d2;
				d3=d1/d2;
				cout << "=== RESULTAT ===" << endl;						//Endast utseende
				cout << d1 << " / " << d2 << " blir " << d3 << endl;
				cout << "================" << endl;						//Endast utseende

				break;

			default:
				cout << "\t Felaktigt alternativ\n ";
		}

				cout << " Vill du återgå till menyn? (j/n) ";
				cin >> svar;
	}

	cout << " HEJ DÅ! " << endl;
	return 0;
}

Sedan har vi den sista uppgiften 2b.
Här var uppgiften att användaren skulle skriv ain för och efternamn och programmet skulle sedan skriva ut det i omvänd ordning. dvs efternamn, förnamn. min lösning var såhär:

// Programmering A, C++. upg 2b.
// Star Daniel S**** 19/11-2010

#include <iostream>
using namespace std;

void skrivNamn(char *namn);

int main( void )
{
	
	cout << "Programmering A, C++ upg 2b" << endl;						//Endast Rubrik
	cout << "===========================" << endl;						//Endast Rubrik
	cout << "Fornamn - Efteramn.		" << endl;						//Endast Rubrik
	cout << "===========================" << endl;						//Endast Rubrik
	cout << "\n";

    char namn[50];
    cout << "Vad heter du? (for och efternamn):" ;

    cin.getline(namn, 50);

    skrivNamn(namn);

    //cout << "Du heter " << namn << endl;
    return 0;
}

void skrivNamn(char *namn)
{
    int length = strlen(namn);
    int spacePos = 0;
    int i;
    while (namn[++spacePos]!= ' ' && spacePos < length);
	
	cout << "===========================" << endl;						//Endast Rubrik
    cout << "Hej "; 

	for (i=spacePos; i< length; i++)
    {
        cout << namn[i];
    }
    cout << ", " ;
    for (i=0; i<spacePos; i++)
    {
        cout << namn[i];
    }
    cout << " . Det var bra! " << endl;
	cout << "===========================" << endl;						//Endast Rubrik
            
}

Om nu någon skulle få för sig att använda mins lösningar till ett skolarbete så tänk på att om du läser programmering A på distans via Miroi så är det bra att veta att det gjorde även jag. Så dom inte får in identiska uppgifter. Jag publicerar detta för att ge exempel på hur man kan göra de olika uppgifterna.

Om någon skulle se något som ser dåligt ut i mina lösningar så säg gärna det så kanske jag lär mig nått mer i detta.

Mvh Daniel!

cascaMedlem sedan feb. 20005 891 inlägg
#7

Tips: om du vill använda svensk teckenuppsättning (så ÅÄÖ visas) så går det att ställa in i main() med funktionen setlocale():

setlocale(LC_ALL, "swedish");
Sang-draxMedlem sedan juli 2002581 inlägg
#8

steel88 skrev:

Om någon skulle se något som ser dåligt ut i mina lösningar så säg gärna det så kanske jag lär mig nått mer i detta.

Det är mycket bättre att använda string istället för char*. Till exempel skulle ditt första program kunna få problem om användaren skrev in fler än 19 bokstäver. Man skall aldrig läsa skriva "cin >> namn" om namn är en char*.

140 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)