2009-03-11, 15:50
  #1
Medlem
Svrt att komma p en beskrivande titel p min frga faktiskt.

Okej, fr att fylla i "blankraderna" s har jag en txt fil som heter Artikelregister.

S hr ser det ut i den fr tillfllet
Citat:
1001
Cykel
4500
1002
Hjul
200
1003
Eker
450
1004
Plupp
30
1005
Baklykta
150
<- Innehller en extra blankrad fr nya vrden


Vad jag vill kunna gra r en skning av alla existerande nummer som finns i listan, allts 1001, 1002, 1003 etc. och ska en loop g igenom listan och kontrollera om numret finns. Om numret inte finns s kan man g vidare till nsta steg, allts artikelnamnet.

En frkortning d:
Skning p nytt artnr -> Kontroll av existerande -> Inte upptaget, g vidare till nsta del i loopen (vill grna kunna lgga till fler artiklar efter varandra tills man avbryter med 0).

Jag har frskt med while, do-while, men jag har slut p ideer nu och som mrker r jag inte s bra p programmering nnu men jag frsker alltid lsa p egen hand s lngt det gr innan jag ber om hjlp.

Tips? Hjlp med hur man kan lsa en sn hr sak?
Jag kan bara inte se ngon lsning just nu tyvrr.

Kod:
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;

void main()
{
	system("cls");

	int		iArtNr, iSoktArt, iUpptagen=0;
	char	kArtNmn[20] = "";
	double	dArtPris;

	ifstream infil("Artikelregister.txt");
	ofstream utfil("Artikelregister.txt",ios::app);

	do
	{
		system("cls");
		cout << "Artikelnr (4 siffror): ";
		cin.clear();
		cin >> iSoktArt;
		
		while(infil >> iArtNr >> kArtNmn >> dArtPris)
		{
			if (iArtNr == iSoktArt)
			{
				cout << "\nArtikelnumret \x84r upptaget.";
				cin.get();
				cin.get();
				system("cls");
			}
		}
	} while (iArtNr != iSoktArt);
	
	system("cls");
	
	cout << "Artikelnr (4 siffror): ";
	cin >> iArtNr;

	infil.close();
	utfil.close();

	cout << "\n\nTryck p\x86 [RETUR] f\x94r att avsluta...";

/*-----------------------------------------------------------

	if (iArtNr == 0)
		break;

	cin.ignore();
	cout << "     Artikelnamn: ";
	cin.getline(kArtNmn,19);

	cout << "     Artikelpris: ";
	cin >> dArtPris;

	system("cls");

	while(iArtNr !=0)
	{
		cout << "\n     Ange artikelinfo (0 = Avsluta)\n\n\n";

		utfil << iArtNr << endl;
		cout << "     Artikelnr (4 siffror): ";
		cin >> iArtNr;

		if (iArtNr == 0)
			break;

		cin.ignore();
		utfil << kArtNmn << endl;
		cout << "     Artikelnamn: ";
		cin.getline(kArtNmn,19);

		utfil << dArtPris << endl;
		cout << "     Artikelpris: ";
		cin >> dArtPris;

		system("cls");
	}
	utfil.close();
-----------------------------------------------------------*/
	system("cls");
}
Citera
2009-03-12, 10:19
  #2
Medlem
Nt snt hr kanske?

Kod:
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <set>

using namespace std;

int main()
{
    
//system("cls");

    
int iArtNriSoktArtiUpptagen=0;
    
char    kArtNmn[20] = "";
    
double    dArtPris;
    
    
set<intartNummer;
    
    
ifstream infil("Artikelregister.txt");
    
ofstream utfil("Artikelregister.txt",ios::app);


    while(
infil >> iArtNr >> kArtNmn >> dArtPris)
        {
            
artNummer.insert(iArtNr);
        }    
    
    while(
true){
        
//system("cls");
        
cout << "\n     Ange artikelinfo (0 = Avsluta)\n\n\n";
        
cin.clear();
        
cin >> iSoktArt;
        
        if(
iSoktArt == 0)
            break;
        
        if(
artNummer.find(iSoktArt) != artNummer.end()){
            
cout << "\nArtikelnumret \x84r upptaget.";    
        }
        else{
            
artNummer.insert(iSoktArt);
            
utfil << iSoktArt <<endl;
            
            
cout << "     Artikelnamn: ";
            
cin >> kArtNmn;
            
utfil << kArtNmn<<endl;
            
cout << "     Artikelpris: ";
            
cin >> dArtPris;
            
utfil << dArtPris<<endl;
            
        }
    } 
    
    
//system("cls");

    
infil.close();
    
utfil.close();

    
cout << "\n\nTryck p\x86 [RETUR] f\x94r att avsluta...";

return 
0;

Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in