Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Výpočet průměru v Cčku

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Velous



Založen: Mar 12, 2010
Příspěvky: 99

PříspěvekZaslal: so říjen 20 2012, 15:02    Předmět: Výpočet průměru v Cčku Citovat

Zdravím, potřebuju poradit.
Mám 2 verze jednoho programu, ale ani jedna nefunguje tak, jak má. Je to program pro výpočet aritmetického průměru hodnot zadaných v souboru. Protřebuju, aby mi program přečetl hodnoty ze souboru, vypočítal průměr a vytiskl do druhého souboru jméno, příjmení, hodnotu a nakonec už vypočítaný průměr. Jeden program mi hodnoty přečte, vypočítá průměr, vytiskne ho na obrazovku, ale nezapíše do souboru, nevím proč. Ten druhý ani nevypočítá průměr. Prosím mrkněte se mi na to někdo a řekněte mi, popřídadě opravte, co tam je špatně. Díky moc.


}


Naposledy upravil Velous dne st prosinec 05 2012, 19:23, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: so říjen 20 2012, 15:15    Předmět: Citovat

Nějak divně používáš fprintf(), buď ti tam chybí formátovací řetězec, nebo ti tam chybí proměnná.

fprintf(fw, jmeno, prijmeni, radky)
fprintf(fw, "Prumerny pocet bodu je: %f\n")
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Velous



Založen: Mar 12, 2010
Příspěvky: 99

PříspěvekZaslal: so říjen 20 2012, 15:24    Předmět: Citovat

Je to možné. Chodím na vysokou a tam nám k tomu skoro nic neřekli, takže mi zbývá samostudium. Sad Takže se není čemu divit, pokud něco používám špatně, nebo mi někde něco chybí.

Ten první program už mi jakš takš jede, jen mám problém s tím nekonečným cyklem. Potřebuju, aby mi vypsal do souboru jméno, příjmení, hodnotu ( jsou tam 4 řádky) a nakonec mi napsal Průměrný počet bodů je:... Do souboru mi napíše jen tu větu a vypočtenou hodnotu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: so říjen 20 2012, 16:42    Předmět: Citovat

A k čemu je tam ten nekonečný cyklus a testování EOF při zápisu do souboru?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Velous



Založen: Mar 12, 2010
Příspěvky: 99

PříspěvekZaslal: so říjen 20 2012, 16:59    Předmět: Citovat

Už jsem to udělal jinak, ale nevím, proč mi to nechce vypsat 4 řádky ze vstupní souboru do výstupního v tom posledním cyklu while. A nevím, co tam mám dat do závorky while ().

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>

int main()
{
FILE *fr, *fw;
char soubor[50];
char soubor_2[50];


Naposledy upravil Velous dne st prosinec 05 2012, 19:25, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: so říjen 20 2012, 17:15    Předmět: Citovat

Kromě toho, že tam zase špatně používáš fprintf(), tak jak ti to může zapsat do souboru 4 řádky ze vstupu, když je nemáš nikde uložené? A pro konkrétní počet opakování je dobrý cyklus for.

A co to má vlastně dělat, nemá to náhodou počítat průměr pro každého studenta zvlášť? Nebo k čemu je tam to jméno a příjmení?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Velous



Založen: Mar 12, 2010
Příspěvky: 99

PříspěvekZaslal: so říjen 20 2012, 17:29    Předmět: Citovat

Ne. Má to udělat průměr z hodnot uvedených ve vstupním souboru. Ale už jsem to vyřešil:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>


Naposledy upravil Velous dne st prosinec 05 2012, 19:24, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: so říjen 20 2012, 17:32    Předmět: Citovat

Akorát
kód:
if(fw == NULL)

určitě není chyba čtení ze souboru.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Velous



Založen: Mar 12, 2010
Příspěvky: 99

PříspěvekZaslal: so říjen 20 2012, 17:35    Předmět: Citovat

Jo, díky to jsem přehlídl. Má tam být zápisu do souboru.

A co jste myslela tím, že špatně používám fprintf?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: so říjen 20 2012, 17:39    Předmět: Citovat

Přesněji je to chyba při otvírání výstupního souboru.

Tím chybným použitím fprintf() jsem myslela to, že ti tam jednou chyběla rukojeť souboru, jindy ti tam chyběl formátovací řetězec nebo ti tam chyběla zapisovaná proměnná.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.18 sekund