Prepisovanie reťazca – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Prepisovanie reťazca – C / C++ – Fórum – Programujte.comPrepisovanie reťazca – C / C++ – Fórum – Programujte.com

 

Kent0
Stálý člen
6. 2. 2013   #1
-
0
-

Mám text. súbor kde je meno a známky

a jedna z úloh zadania je napísať funkciu ktorá prepíše známky danému menu..

takto vyzerá súbor na začiatku

a takto, keď zadám viac ako 4 známky a upozorní ma na to a zadávam znova

poprosil by som o radu. Ďakujem

zdrojový kód:

void oprav()
{
     FILE *fr;
     int pom,l,n,k;
     char meno[20],menofr[20],znamky[20],noveznamky[20];
     
     fr=fopen("text.TXT","r+");
     
     if(fr == NULL)
     printf("Subor neexistuje"); 
     
     pom=0;  
     
     printf("Zadaj meno: ");
     scanf("%s",meno);
     
     while(feof(fr)==0 && pom==0)
     {
                       fscanf(fr,"%s %s",menofr,znamky);
                       if(strcmp(meno,menofr)==0)
                       {
                       pom++;
                       
                       
                       }
     }
    
     if(pom==0)
     printf("Meno v zozname nie je\n");
     else
     {
     do
     {
     l=strlen(znamky);
     fseek(fr,-l,SEEK_CUR);                             //posunie o -l miest dozadu v aktualnej pozicie
     printf("Zadaj 4 nove znamky: ");
     scanf("%s",noveznamky);
     n=strlen(noveznamky);
     if(n==4)
     {
     fprintf(fr,"%s\n",noveznamky);
     k=1;
     }
     else
     printf("Nezadal si spravny pocet znamok\n");
     }
     while(k!=1);
         
     }
      fclose(fr);
}   
Nahlásit jako SPAM
IP: 145.255.157.–
Radek Chalupa
~ Redaktor
+1
Super člen
6. 2. 2013   #2
-
0
-

#1 Kent
Vzhledem k tomu že jsi nenapsal v čem máš problém, tak jsem se jen zběžně podíval na začátek zdrojáku a v případě že fr je NULL, tak sice vypíšeš hlášku, ale dál pokračuješ a pracuješ s "fr".....takže zkus napsat na co se ptáš..

Radek Chalupa
- vývoj software na zakázku
- školení programování (C/C++, WinAPI, ATL, COM, ActiveX, C#, NET Framework, MFC)
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 213.220.211.–
Kent0
Stálý člen
7. 2. 2013   #3
-
0
-

#2 Radek Chalupa

ahoj..keď zadám meno Majo a zadám viac ako 4 známky tak ma upozorní, že musia byť 4..a tak keď zadám 4  tak mi to spraví to čo je na druhom obrázku..a v tom je problém :)

Nahlásit jako SPAM
IP: 77.234.226.–
Radek Chalupa
~ Redaktor
+1
Super člen
7. 2. 2013   #4
-
0
-

#3 Kent
Tipoval bych to v opakovaném posunutí o -1 v tom souboru, i v případě chybného zadání.

Osobně bych to dělal načtením celého souboru do bufferu (typu char*/wchar_t*) a pak pracovat s tím bufferem a na konci celé zapsat do souboru.

Radek Chalupa
- vývoj software na zakázku
- školení programování (C/C++, WinAPI, ATL, COM, ActiveX, C#, NET Framework, MFC)
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 213.220.211.–
Kent0
Stálý člen
7. 2. 2013   #5
-
0
-

ten buffer sme sa neučili takže to nepoužijem

Nahlásit jako SPAM
IP: 145.255.157.–
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, 13 hostů

Podobná vlákna

Prepisovanie čísla — založil Anonym

MS SQL - prepisovanie hodnot — založil Tomas

Vyhladanie reťazca — založil Anonym

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ý