Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include "dz5.h"
- #define CMD_LINE
- #ifndef CMD_LINE
- void main() {
- FILE *input, *output, *ldif;
- char *InputName = NULL, *OutputName = NULL, *EmailCMP, c;
- User *head = NULL;
- Ldif_f *LDIFFields = NULL;
- int i, ulaz;
- /*Unos polja potrebnih za ispis u LDIF format iz pomocne datoteke*/
- ldif = fopen("nazivi.txt", "r");
- LDIFFields = LDIFValuesImport(ldif);
- fclose(ldif);
- if (LDIFFields == NULL) {
- printf("Greska prilikom uvoza podataka iz pomocne datoteke.\n");
- Brisi(InputName, OutputName, head, LDIFFields);
- exit(0);
- }
- /*Interaktivni meni za korisnika*/
- while (1) {
- printf("\n1. Uvoz kontakata iz .CSV datoteke\n"
- "2. Izvoz kontakata u .LDIF datoteku\n"
- "3. Izbacivanje kontakata na osnovu e-mail adrese i izvoz u .LDIF datoteku\n"
- "Vas izbor? ");
- scanf("%d", &i);
- switch (i) {
- case 1:
- /*Unos podataka iz CSV datoteke*/
- ulaz = 1;
- while (1) {
- printf("Unesite naziv ulazne datoteke (u formatu ime.csv):\n");
- InputName = ImportName(ulaz);
- if (InputName == NULL) {
- printf("Greska u prilikom alokacije memorije.\n");
- Brisi(InputName, OutputName, head, LDIFFields);
- exit(0);
- }
- ulaz = 0;
- input = fopen(InputName, "r");
- if (input == NULL) {
- printf("Datoteka sa datim imenom ne postoji.\n");
- free(InputName);
- }
- else break;
- }
- head = ImportCSV(head, input);
- fclose(input);
- if (head == NULL) {
- printf("Greska prilikom uvoza podataka iz ulazne datoteke.\n");
- Brisi(InputName, OutputName, head, LDIFFields);
- exit(0);
- }
- break;
- case 2:
- /*Izvoz podataka u LDIF datoteku*/
- printf("Unesite naziv izlazne datoteke (u formatu ime.ldif):\n");
- ulaz = 1;
- OutputName = ImportName(ulaz);
- if (OutputName == NULL) {
- printf("Greska prilikom ucitavanja imena izlazne datoteke.\n");
- Brisi(InputName, OutputName, head, LDIFFields);
- exit(0);
- }
- ulaz = 0;
- output = fopen(OutputName,"w");
- ExportLDIF(head, LDIFFields, output);
- break;
- case 3:
- /*Izvoz podataka u LDIF datoteku sa obradom*/
- printf("Unesite pocetnu e-mail adresu korisnika kojeg zelite da izbacite iz kontakata:\n");
- while ((c = getchar()) != '\n');
- c = fgetc(stdin);
- EmailCMP = ReadWord(stdin, &c);
- if (EmailCMP == NULL) {
- printf("Neuspesno ucitavanje mejla.\n");
- Brisi(InputName, OutputName, head, LDIFFields);
- exit(0);
- }
- head = Delete(head, EmailCMP);
- free(EmailCMP);
- if (head == NULL) {
- printf("Svi kontakti su izbrisani, ne postoje podaci koji bi se izvezli u izlaznu datoteku.\n");
- Brisi(InputName, OutputName, head, LDIFFields);
- exit(0);
- }
- printf("Unesite naziv izlazne datoteke (u formatu ime.ldif):\n");
- OutputName = ImportName(ulaz);
- if (OutputName == NULL) {
- printf("Greska prilikom ucitavanja imena izlazne datoteke.\n");
- Brisi(InputName, OutputName, head, LDIFFields);
- exit(0);
- }
- output = fopen(OutputName, "w");
- ExportLDIF(head, LDIFFields, output);
- }
- if ((i == 2) || (i == 3)) break;
- }
- Brisi(InputName, OutputName, head, LDIFFields);
- fclose(output);
- }
- /*Unos preko komandne linije*/
- #else
- int main(int argc, const char *varg[]) {
- FILE *input, *output, *ldif;
- User *head = NULL;
- char *InputName=NULL, *OutputName=NULL;
- Ldif_f *LDIFFields = NULL;
- if (argc > 4) {
- printf("Uneto je vise argumenata nego sto je potrebno\n");
- exit(0);
- }
- if (argc < 3) {
- printf("Uneto je manje argumenata nego sto je potrebno.\n");
- exit(0);
- }
- /*Otvaranje datoteka*/
- input = fopen(varg[1], "r");
- output = fopen(varg[2], "w");
- if ((input == NULL) || (output == NULL));
- /*Uvoz iz pomocne datoteke*/
- ldif = fopen("nazivi.txt", "r");
- LDIFFields = LDIFValuesImport(ldif);
- fclose(ldif);
- /*Uvoz iz CSV datoteke*/
- head = ImportCSV(head, input);
- fclose(input);
- if (head == NULL) {
- printf("Greska prilikom ucitavanja podataka iz ulazne datoteke.\n");
- Brisi(InputName, OutputName, head, LDIFFields);
- fclose(output);
- exit(0);
- }
- /*Izvoz bez brisanja*/
- if (argc==3) ExportLDIF(head, LDIFFields, output);
- /*Izvoz sa brisanjem*/
- if (argc == 4) {
- head = Delete(head, varg[3]);
- if (head == NULL) {
- printf("Svi kontakti su izbrisani, ne postoje podaci koji bi se izvezli u izlaznu datoteku.\n");
- Brisi(InputName, OutputName, head, LDIFFields);
- fclose(output);
- exit(0);
- }
- ExportLDIF(head, LDIFFields, output);
- }
- fclose(output);
- Brisi(InputName, OutputName, head, LDIFFields);
- }
- #endif
Add Comment
Please, Sign In to add comment