Ahoj máme problém s dokončením tohoto kodu nemůžeme vymyslet jak udělat aby nám to našlo průsečíky kdyby jste nám prosíme někdo poradil ? :)
#include "stdafx.h"
#define _CRT_SECURE_NO_DEPRECATE /* nefunguje, musi se pridat polozka _CRT_SECURE_NO_DEPRECATE do
project prperties / C/C++ / preprocessor / do prvniho radku*/
#include<stdio.h>
#include<atlalloc.h>
/*
- otevri soubor libovolneho jmeno
- zjisti pocet radku
- alokuj pamet na 4*sizeof(int)*pocet_radku
- napln pamet daty ze souboru
*/
struct bod { int x; int y; };
struct usecka { bod a; bod b; };
usecka *nactiUseckyZeSouboru(char *nazevSouboru)
{
usecka *u;
FILE *zdroj;
int radku, i; // pocet radku v souboru
int ax, ay, bx, by;
// otevri soubor
zdroj = fopen(nazevSouboru, "r+t");
if (zdroj == NULL)
return(NULL);
char c;
radku = 0;
// zjisti pocet radku
while (!feof(zdroj)) {
c = fgetc(zdroj);
if (c == '\n')
++radku;
}
// alokuj prostor na usecky
u = (usecka *) malloc( radku*sizeof(usecka));
// precti a zapis usecky
fseek(zdroj, 0, SEEK_SET); // jdi na zacatek souboru
char radek[100];
i = 0; // citac radku
while (!feof(zdroj)) {
fgets(radek, 100, zdroj); // nacti dalsi radek zed souboru do pripraveneho pole znaku
sscanf(radek, "%c%d%c%d%c%c%c%d%c%d%c", &c, &ax, &c, &ay, &c, &c, &c, &bx, &c, &by); // extrauj cisla z pole
(u + i)->a.x = ax;
(u + i)->a.y = ay;
(u + i)->b.x = bx;
(u + i)->b.y = by;
++i;
}
// zavri soubor
fclose(zdroj);
// vrat adresu pole usecek
return u;
}
int main(int argc, char* argv[])
{
usecka *u;
u = nactiUseckyZeSouboru("c:\\soubory\\zdroj.txt");
return 2;
FILE *zdroj, *cil;
int i, x, y;
zdroj = fopen("c:\\soubory\\zdroj.txt", "w+t");
if (zdroj == NULL) {
printf("nezdarilo se mi zalozit soubor");
return(2);
}
printf("Soubor byl zalozen, zapisuji data.");
x = 10; y = 15;
for (i = 0; i < 10; ++i) {
printf("[%d,%d],[%d,%d]\n", x + i, y + i, x + i + 2, y + i + 3);
fprintf(zdroj, "[%d,%d],[%d,%d]\n", x + i, y + i, x + i + 2, y + i + 3);
}
fseek(zdroj, 0, SEEK_SET);
cil = fopen("c:\\soubory\\cil.txt", "w+t");
while (!feof(zdroj))
fputc(fgetc(zdroj), cil);
fclose(zdroj);
fclose(cil);
getchar();
return 0;
}