Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#define CRT_SECURE_NO_WARNINGS
- //#include "stdafx.h"
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- struct ksiazka {
- char imie[20];
- char nazwisko[20];
- char grupa[20];
- char numer[20];
- };
- struct element {
- struct element *poprzedni;
- struct ksiazka *kontakt;
- struct element *nastepny;
- };
- void dodajNaPoczatek(struct element **pierwszy, struct ksiazka *kontakt) {
- struct element *nowykontakt = malloc(sizeof(struct element));
- if (nowykontakt != NULL) {
- nowykontakt->kontakt = kontakt;
- if ((*pierwszy) == NULL) {
- nowykontakt->nastepny = NULL;
- nowykontakt->poprzedni = NULL;
- (*pierwszy) = nowykontakt;
- } else {
- (*pierwszy)->poprzedni=nowykontakt;
- nowykontakt->nastepny = (*pierwszy);
- nowykontakt->poprzedni = NULL;
- (*pierwszy) = nowykontakt;
- }
- } else {
- printf("blad pamieci\n");
- }
- }
- void usunElement(struct element **pierwszy,struct element *aktywny) {
- if ((*pierwszy) != NULL) {
- if (aktywny->poprzedni == NULL) {
- aktywny->nastepny->poprzedni = NULL;
- free(aktywny);
- } else if (aktywny->nastepny == NULL) {
- aktywny->poprzedni->nastepny = NULL;
- free(aktywny);
- } else {
- aktywny->nastepny->poprzedni = aktywny->poprzedni;
- aktywny->poprzedni->nastepny = aktywny->nastepny;
- free(aktywny);
- }
- } else {
- printf("Nie ma co usunac\n");
- }
- }
- void pokazListe(struct element *pierwszy) {
- struct element *temp=pierwszy;
- printf("Lista:\n----------\n");
- while (temp != NULL){
- printf("Imie: %s, Nazwisko: %s, Grupa: %s, Numer: %s\n",temp->kontakt->imie,temp->kontakt->nazwisko,temp->kontakt->grupa,temp->kontakt->numer);
- temp=temp->nastepny;
- }
- printf("----------\n\n");
- }
- void wczytajZpliku(struct element ** pierwszy) {
- FILE* plik;
- char nazwa[100];
- char wiersz[1000];
- struct ksiazka *nowyKontakt=malloc(sizeof(struct ksiazka));
- printf("Podaj nazwe pliku bez rozszerzenia\n");
- scanf("%999[^\n]",nazwa);
- strcat(nazwa,".CSV");
- plik=fopen(nazwa,"r");
- if(plik != NULL){
- while(fscanf(plik,"%s",wiersz)!=EOF) {
- if(sscanf(wiersz,"%[^;];%[^;];%[^;];%s",nowyKontakt->imie,nowyKontakt->nazwisko,nowyKontakt->numer,nowyKontakt->grupa)==4) {
- dodajNaPoczatek(pierwszy, nowyKontakt);
- }else{
- printf("Blad zapisu\n");
- break;
- }
- }
- fclose(plik);
- }else{
- printf("Zla nazwa\n");
- }
- }
- int main() {
- struct element* pierwszy=NULL;
- wczytajZpliku(&pierwszy);
- pokazListe(pierwszy);
- // system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement