#16 hlucheucho
jo a nemelo by tam byt misto :
fin = fopen("soubor.txt", "rb");
fin = fopen("soubor.txt", "r"); ?
Promin, asi jsem nejakej natvrdlej nebo neco, snazil jsem se to dat dohromady, ale hlava mi to nejak nebere. Myslis kompletni program by mel vypadat takhle ? Asi je mozny ze tam neco posprehazeny nebo tak neco, nebo nevim kam to vlozit, asi tam ma byt jeste int main () nebo ne a misto toho je tam int int CtiVetu(FILE *odkud, char *kam) ? to je asi blbost že ? A jestli to teda spravne chapu tak soubor.txt je soubor pro cteni tech vet, takze ho hodim do slozky s programem a hodim tam napr.: 5 vet a z tohoto to bude cist ? No a pak potrebuju jeste nekam to ukladat a prehazet nejak ze ? Uz jsem z toho nejaky zmateny, promin :(
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
int CtiVetu(FILE *odkud, char *kam)
{
char veta[128];
FILE *fin; //soubor ze ktereho ctes vety
fin = fopen("soubor.txt", "rb");
if (fin == NULL) {
//nejde otevrit soubor
}
else
{
//soubor otevren
CtiVetu(fin, veta);
fclose(fin);
}
char znak;
int stav = 0;
int i = 0;
do { //cte po znacich dokud neni konec vety nebo souboru
znak = fgetc(odkud);
switch (znak) {
case EOF: //konec souboru
stav = -1;
break;
case '.': //veta ukoncena teckou
case '?': //veta ukoncena otaznikem
case '!': //veta ukoncena vykricnikem
stav = 1;
kam[i] = znak;
i++;
break;
case ' ': //mezera se pred vetou ignoruje, ve vete musi zustat
if (stav == 0) {
kam[i] = znak;
i++;
}
break;
default: //jakykoliv jiny znak
stav = 0;
kam[i] = znak;
i++;
;
}
} while (0 == stav);
kam[i] = 0;
return stav; //vraci -1 pro vetu ukoncenou EOF
}
#13 hlucheucho
Mám zatím tohle: Nevím si rady s tim retezcem atd. :( Muzes to zkouknout a poradit prosim ? Mám to trochu jinak ten program, ze se me zepta co tam chcu napsat a potom to ulozi do souboru data.txt a potom z tohoto souboru to znak po znaku kontrolu zda tam neni .,? nebo !. jak to ale ukladat do pole nevim a jak prehazovat ty vety take ne.
// dalsi pokus.cpp : Defines the entry point for the console application.
//
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char text[100], znak;
FILE *fvstup, *fvystup;
printf("Zadejte text do delky 100 pismen: ");
gets(text);
fvstup = fopen("data.txt", "w");
fputs(text, fvstup);
fclose(fvstup);
printf("\nNyni se podivejte do slozky se souborem data.txt\n");
fvstup = fopen("data.txt", "r");
fvystup = fopen("vystup.txt", "w");
while(znak = fgetc(fvstup) != EOF)
{
if((znak = '.') && (znak = '?') && (znak = '!'))
{
znak -= 32;
putchar(znak);
fputc(znak, fvystup);
}
else
{
putchar(znak);
fputc(znak, fvystup);
}
}
fclose(fvstup);
fclose(fvystup);
printf("\n");
return 0;
}
#10 hlucheucho
No jasne, ale co mam pouzit za funkci aby mi to ty vety nejak prehazelo ? Myslis ze by slo osetrit useky, ktere zacinaji velkym pismenem a konci texkou ? Napr.: kdyz tam budu mit treba 5 vet tak se to rozdeli na 5 useku a tyto useky se nahodne preskupi treba do druheho textaku ? nebo jen vypisou, to je jedno.
Tady je program, ktery pri spusteni vyzaduje zapsani textu do 100 znaku. Tento text se prevede na VELKA PISMENA a ulozi se jak zadany text, tak i upraveny text na VELKA pismena. Dalo by se to nejak upravit na to, aby pri zadani textu to prohodilo ty vety nebo slova nejak ? Dekuji za veskere napady a pripominky ;)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char text[100], znak;
FILE *fMala, *fVelka;
printf("Zadejte text do delky 100 pismen: ");
gets(text);
fMala = fopen("data.txt", "w");
fputs(text, fMala);
fclose(fMala);
printf("\nNyni se podivejte do slozky se souborem data.txt\n");
fMala = fopen("data.txt", "r");
fVelka = fopen("VELKE.txt", "w");
while ((znak = fgetc(fMala)) != EOF)
{
if((znak >= 'a') && (znak <= 'z'))
{
znak -= 32;
putchar(znak);
fputc(znak, fVelka);
}
else
{
putchar(znak);
fputc(znak, fVelka);
}
}
fclose(fMala);
fclose(fVelka);
printf("\n");
return 0;
}
#2 KIIV
Praveze moc nevim jak na to. Tak na zacatek si asi vytvorim textovy soubor, kde napisu text a ulozim ho. Nebo by to asi slo napsat aj primo do programu aby me to vyzvalo k zapisu nejakyho textu, ja bych ho zapsal a ono by ten textak to vytvorilo. Ale staci kdyz ten textak vytvorim manualne. No a potom nejak prijit na to, jak udelat to, aby se prehazely ty vety nejak :(
Tady mam cteni ze souboru, ale nefunguje mi to :(
#include <stdio.h>
#include <stdlib.h>
FILE *soubor;
char jmeno[100];
void cteniZeSouboru()
{
soubor = fopen("data.txt", "r");
while(!(feof(soubor))) {
fscanf(soubor, "%s", &jmeno);
printf("%s\n", jmeno);
}
fclose(soubor);
}
system("PAUSE");
return 0;
}
Ahoj, vedel by nekdo jak udelat tento program v Cčku? Má jít o program, který z texťáku načte text a vety z tohoto textu program nejak prehaze.
To Jasper : Stránka QIPu jede, ale jen chvilkama.
To JannBaill : Je to zajímavý dojdu z prace a to stejný. Má někdo nějaké info?