Hlavickove soubory - devcpp – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Hlavickove soubory - devcpp – C / C++ – Fórum – Programujte.comHlavickove soubory - devcpp – C / C++ – Fórum – Programujte.com

 

vojta1290
Newbie
2. 11. 2013   #1
-
0
-

Cs, uz skousim asi 30min udeltat hlavickovej soubor a porad se to podelava. nevim co delam spatne.
nevite nekdo?

- tohle je funkce main:

#include <iostream>
#include <windows.h>
#include "hlava.h"
using namespace std;
int vyska_tonu[999] = {0};
int delka_tonu[999] = {0};
int max_poradi = 0; 
int poradi;
int volba;

int main()
{
do{
     cout << "Pro zadani noveho tonu zadej 1, pro prehrati posledniho 2, pro prehrani melodie 3 a pro ukonceni 4\n";
     cin >> volba;
     switch (volba){
       case 1 : zadani_noveho_tonu();break;
       case 2 : prehrat_ton();break;   
       case 3 : prehrat_melodii();break;   
       case 4 : cout << "opravdu chces ukoncit? - jestli ano tak 4,";
                cin >> volba;
                if (volba == 4)
                   return 0;
       default : cout << "chyba";break;            
            } 
    }while (1 < 2);             
}           

a ted soubor hlava.h ulozeny ve stejne slozce jako fce. main:

#ifndef _HLAVA_H
#define _HLAVA_H

void prehrat_ton(){
     Beep(vyska_tonu[poradi],delka_tonu[poradi]);
     }
void prehrat_melodii(){
     for (int a = 0; a < max_poradi + 1; a ++)
         Beep(vyska_tonu[a],delka_tonu[a]);
         }
void zadani_noveho_tonu(){
     cout << "Pprvni zadej poradi tonu.\n";
     cin >> poradi;
     cout << "Pak jeho vysku v Hz.\n";
     cin >> vyska_tonu[poradi];
     cout << "A na konec delku v ms.\n";
     cin >> delka_tonu[poradi];
     if (poradi > max_poradi)
        max_poradi = poradi;
     }
#endif

Proste nemam poneti co je spatne. Jestli nekdo poradi dk moc.

Nahlásit jako SPAM
IP: 109.80.24.–
vojta1290
Newbie
2. 11. 2013   #2
-
0
-

za returnem ve switchi, ven z ifu ma bejt break;

Nahlásit jako SPAM
IP: 109.80.24.–
4. 11. 2013   #3
-
0
-

v hlavickovem souboru mas i implementaci. proste.. do hlavičkového souboru se nepise kod. pouze deklarace funkci a promennych. třeba.. void prehrat_ton(); jenom proste navratovy typ,jmeno funkce a parametry funkce. pripadne typ a nazev promenne. to co delas spatne je ze do toho hlavičkového souboru pises rovnou i kod

Nahlásit jako SPAM
IP: 84.242.117.–
4. 11. 2013   #4
-
0
-

jinak.. hlavickovy soubor hlava.h :

#ifndef _HLAVA_H
#define _HLAVA_H


extern int vyska_tonu[999];
extern int delka_tonu[999];
extern int max_poradi;
extern int poradi;
extern int volba;
extern void prehrat_ton();
extern void prehrat_melodii();
extern void zadani_noveho_tonu();
#endif

priblizne spravny hlavickovy soubor. zkus jestli funguje. ted budes potrebovat nekde napsat kod tech funkci. vytvoříme si novy zdrojovy kod ve kterem budou zdrojaky tech funkci.
hlava.cpp
 

#include <iostream>
#include <windows.h>
#include "hlava.h"
using namespace std;
int main()
{
do{
     cout << "Pro zadani noveho tonu zadej 1, pro prehrati posledniho 2, pro prehrani melodie 3 a pro ukonceni 4\n";
     cin >> volba;
     switch (volba){
       case 1 : zadani_noveho_tonu();break;
       case 2 : prehrat_ton();break;   
       case 3 : prehrat_melodii();break;   
       case 4 : cout << "opravdu chces ukoncit? - jestli ano tak 4,";
                cin >> volba;
                if (volba == 4)
                   return 0;
       default : cout << "chyba";break;            
            } 
    }while (1 < 2);             
}     

 a samotny main.cpp:

#include "hlava.h"

int vyska_tonu[999] = {0};
int delka_tonu[999] = {0};
int max_poradi = 0;
int poradi;
int volba;
void prehrat_ton(){
     Beep(vyska_tonu[poradi],delka_tonu[poradi]);
     }
void prehrat_melodii(){
     for (int a = 0; a < max_poradi + 1; a ++)
         Beep(vyska_tonu[a],delka_tonu[a]);
         }
void zadani_noveho_tonu(){
     cout << "Pprvni zadej poradi tonu.\n";
     cin >> poradi;
     cout << "Pak jeho vysku v Hz.\n";
     cin >> vyska_tonu[poradi];
     cout << "A na konec delku v ms.\n";
     cin >> delka_tonu[poradi];
     if (poradi > max_poradi)
        max_poradi = poradi;
     }
Nahlásit jako SPAM
IP: 84.242.117.–
vojta1290
Newbie
4. 11. 2013   #5
-
0
-

diky moc

Nahlásit jako SPAM
IP: 109.80.24.–
vojta1290
Newbie
4. 11. 2013   #6
-
0
-

#4 rodinne.baleni.ryze
hele, mmt, nemaj bejt ty posledni zdrajaky prohozeny, hazi to chybu. mimochodem vsechno sou to .txt  spravne?

Nahlásit jako SPAM
IP: 109.80.24.–
z
~ Anonymní uživatel
268 příspěvků
4. 11. 2013   #7
-
0
-

Je to hlava.h, main.cpp, hlava.cpp. Žádný .txt tam není.
 

Nahlásit jako SPAM
IP: 88.101.8.–
5. 11. 2013   #8
-
0
-

samozrejme to kde je funkce main je soubor main.cpp . jo ted uz to mas pojmenovane spravne :) txt to rozhodne neni :) 

Nahlásit jako SPAM
IP: 84.242.117.–
z
~ Anonymní uživatel
268 příspěvků
6. 11. 2013   #10
-
0
-

Máš ty soubory přidané do projektu? Co ti to hlásí?

Nahlásit jako SPAM
IP: 88.101.8.–
vojta1290
Newbie
6. 11. 2013   #11
-
0
-

no, ty soubory sou ulozeny ve stejny slozce jako main.cpp a chova se to jako kdyby tam ty soubory nebyly.... takze ve vysledku to hlasi neni iniciovano to a to, funkce.... neni definovana...atd

Nahlásit jako SPAM
IP: 109.80.24.–
7. 11. 2013   #12
-
0
-
Nahlásit jako SPAM
IP: 84.242.117.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 10 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý