» »

[c++] pomoč pri metodah

[c++] pomoč pri metodah

cosa nostra ::

Delam mettode za čitanje in vpis v datoteko, izpis enega in več elementov na zaslon, morem še sortiranje,brisanje itd..
Mi lahko kdo popravi napake da nebo Erorov. hvala...

// Naloga - Avto.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>	// vhodno-izhodni ukazi
#include <stdlib.h> //standardni ukazi
#include <ctime>
#include <string> // za la&#65533;je delo z nizi, veljavno le v C++ in ne v C#
#include <fstream >//knji&#65533;nica za delo z datotekami
using namespace std; // uporaba imenskega prostora	ni treba pisati std::ukaz

class Avto
{   
	
	string znamka; //prva lastnost
	short letnik; //druga lastonst
    public:
    void citaj_dat(Avto a1[], string dat, short  &x, short n);
	void vpis_dat(Avto a2[], string dat1, short b);
	void izpis_zaslon(short i);
	void izpis_en_elemnet(short ii);

};


short n=100;
Avto a[n];

void vpis_dat(Avto a2[], string dat1, short i)
{

  
  ofstream dat1;
  dat1.open("dat.txt");
  for (short i=1;i<= 5;i=1+i)
  {
      cout<<"Podaj mi "<<i<<". podatek."<<endl;
      getline(cin, dat1);
      
  }
  dat1.close();
}


void Avto::citaj_dat(Avto a1[], string datoteka, short  &x, short n);
{

  
  ifstrem datoteka;
  datoteka.open("dat.txt", ios::in);
  if(datoteka.open())
  { 
	  while(datoteka.eof())
	  { 
		  getline(cin, Avto a1[]);
		cout<<"Podatki so :"<<Avto a1[]<<endl;
	  }
	  datoteka.close();
  }else cout<<" Nekaj je narobe "<<endl; 
};

void Avto::izpis_zaslon(short i)
{
	for(short i=0; i<15; i++)
	{
		Avto a1[i].izpis_zaslon
		cout<<Avto a1[];
		 i=i+1;
	}
}


void Avto::izpis_en_elemnet(short ii)
{
	cout<<"Podatki"<<ii<<"avta so "<<znamka<< "in letnik"<<letnik;


}
int _tmain()
{
	system("pause");
	return 0;
}

LightBit ::

Sicen se ne spoznam ravno na C++, ampak kot C programer bi rekel, da je tole čisto narobe.
Zakaj class uporabljaš kot strukturo?

cosa nostra ::

Tako nas učijo :O

mallard ::

Velikost polja mora bit konstanta, ki jo prevajalnik lahko določi med prevajanjem. Constant expression, z drugo besedo.
const short n = 100;   // <--- const const const const const!
Avto a[n];

// to tudi ne bi šlo, čeprav je n deklariran const, ker bo vrednost znana šele
// ko se program zažene
//const int n = rand();
//int arr[n];


Imaš dve podpičji kjer nimata kaj iskat:
void Avto::citaj_dat(Avto a1[], string datoteka, short  &x, short n);  // <--- TUKAJ
{
    // ...
};    // <---- TUKAJ


V funkciji vpis_dat si deklariral lokalno spremenljivko dat1 tipa ofstream, ki skrije parameter z istim imenom, funkcija getline, ki vzame ofstream, pa ne obstaja

void vpis_dat(Avto a2[], string dat1, short i)
{
  ofstream dat1;    // skriva parameter dat1
  dat1.open("dat.txt");
  for (short i=1;i<= 5;i=1+i)
  {
      cout<<"Podaj mi "<<i<<". podatek."<<endl;
      getline(cin, dat1);    // <----  error, dat1 je ofstream
  }
  dat1.close();
}


Tipkarska napaka:
ifstrem datoteka;


Pa izpis_en_elemnet si črkoval narobe. To sicer ni napaka, ker se deklaracija in definicija ujemata, ne izgleda pa ravno v redu, ne?

Tole je kar malo "wtf", mešaš sintakso deklaracij in izrazov:
Avto a1[i].izpis_zaslon
cout<<Avto a1[];


Pa najbrž bi se še kaj našlo.

EDIT:
Namesto
i = i+1;    // I'M A NOOB! :)

lahko rečeš:
++i;

Zgodovina sprememb…

  • spremenilo: mallard ()

BlackDeath ::

Nauči se brat napake, ki se ti izpišejo, ker ni tako težko, da ne bi sam mogel razbrati kaj je problem. Naslednjič vsaj poskusi preden obupaš po 5 minutah. Nočem bit nesramen ampak IČR imaš ta semester, ne? No, tam dobiš navodila kaj moraš napravit v naslednjih dveh urah. Brez interneta. Nihče ti ne bo pomagal.

void Avto::izpis_zaslon<strong>(short i)</strong>
{
    for(<strong>short i=0</strong>; i<15; i++)
    {
        Avto a1[i].izpis_zaslon
        cout<<Avto a1[];
         i=i+1;
    }
}


V metodi izpis_dat si napravil isti kiks. 'i' daš kot parameter metode, čeprav tega sploh ne potrebuješ, potem ga pa še enkrat deklariraš v for zanki in prevajalnik ti bo javil napako.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

DIJKSTROV_ALGORITEM

Oddelek: Programiranje
142225 (1459) krneki0001
»

c++ vaja

Oddelek: Programiranje
6900 (633) 66speeder66
»

[C++] Pridobivaje in brisanje le dolocenih znakov

Oddelek: Programiranje
111348 (1142) Gundolf
»

[C++] urejanje nizov po velikosti

Oddelek: Programiranje
82284 (2065) Matako
»

[Java] programiranje "praštevila"

Oddelek: Programiranje
72559 (2437) blaz_

Več podobnih tem