Baza danych w C

0

Potrzebuje podpowiedzi ( w jezyku zrozumialym dla kogos kto nie zna sie na programowaniu) co nalezy wykonac, od czego zaczac itp w stworzeniu programu na zajecia z programowania. Od razu mowie, ze nie chce GOTOWCA tylko podpowiedz od osoby ktora na tym sie zna i chcialaby wytlumaczyc w miare w sposob zrozumialy dla osoby poczatkujacej.

Baza danych projektów z programowania (albo innego przedmiotu). Program przechowujący tytuły i opisy projektów, nazwiska studentów realizujących te projekty oraz oceny końcowe. Treści projektów mają być przechowywane w osobnych plikach tekstowych w przeznaczonym do tego podkatalogu.
Program powinien mieć następujące możliwości:

  • dodawanie projektów do bazy danych (tytuł, nazwa pliku z treścią projektu, nazwiska studentów realizujących dany projekt, oceny końcowe),
  • usuwanie projektów,
  • edycja projektów - dodawanie i usuwanie studentów, wstawianie i zmiana ocen,
  • wyświetlanie listy projektów,
  • wyświetlanie szczegółów wybranego projektu łącznie z treścią zadania ( z pliku tekstowego),
  • automatyczne wyszukiwanie projektów nikomu nie przydzielonych,
  • zapis i odczyt danych z pliku.
    Komunikacja użytkownika z programem powinna odbywać się za pomocą menu tekstowego. Liczba projektów, studentów, długość nazw, nazwisk itp. może być z góry ograniczona.
    Od wszystkich projektów wymaga się przejrzystości kodu, intuicyjności obsługi, prawidłowej reakcji na możliwe błędy oraz - w miarę możliwości - odporności programu na nieprzewidywalne zachowanie użytkownika. Kod źródłowy ma być całkowicie zgodny z normą ANSI C. Elegancja implementacji (w szczególności przemyślany podział kodu źródłowego na funkcje) będzie ważnym czynnikiem przy ocenie projektu. Projekty o niekompletnej funkcjonalności, ale działające, również będą oceniane.
0

Czy jest ktoś kto mógłby coś podpowiedzieć ?

0

Wersja trudna:

  1. Nauczyć się podstaw programowania
  2. Wykonać zadanie

Wersja łatwa:
Zamówić wykonanie u fachowca

0

jak zwykle kazdy liczy na kase i nawet pare zdan nie mozna napisac, zeby komus pomoc..

0

Na duzej kartce rozrysuj sobie cala architekture co powinien zawierac program. Jakie struktury, jakie funkcje do tego. Rozrysuj sobie jak najbardziej szczegolowo sie da, uwzgledniajac jednak w to troche "grupowania" (struktury, tablice itd)

nastepnie szukaj w necie jak to zaimplementowac.

jezeli nie robilas nic w tym, dla Ciebie bedzie to bardzo trudne zadanie. Musisz spedzic sporo czasu nad tym by to wykonac w miare sensownie. Zamiast liczyc na pomoc, wez zacznij juz robic albo zacznij sobie zalatwiac projekt u kogos kto Ci to zrobi

1

Ja mogę pomóc pod warunkiem jak ty też będzie trochę tworzyć ten program.

0

@tomi0001 z checia skorzystam z pomocy. bede oczywiscie tworzyc program, tylko musze wiedziec co i jak bo czytajac jakikolwiek podrecznik nic tam nie ma.. a nie studiuje informatyki wiec wcale w tym nie siedze..

0

Mam napisana czesc programu:
czy pomogły mi ktos go dokonczyc ?

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main(void)

{

    char wybor;

    printf("Podaj operacje\n Dodaj projekt do bazy - d\n Usun projekt - u\n Edytuj projekt - e\n Wyswietlij liste projektow - l\n Wyswietlij szczegoly wybranego projektu lacznie z trescia zadania\n ( z pliku tekstowego) - w\n Automatyczne wyszukiwanie projektow nikomu nie przydzielonych - a\n Zapis i odczyt danych z pliku - z\n");

    scanf("%c",&wybor);

    switch(wybor)

{

    case 'd' : dodaj_projekt();

    break;

    case 'u' : usun_projekt();

    break;

    case 'e' : edytuj_projekt();

    break;

    case 'l' : wyswietl_projekt();

    break;

    case 'w' : szczegol_projekt();

    break;

    case 'a' : auto_projekt();

    break;

    case 'z' : zapis_i_odczyt();

    break;

    default: printf("Musisz wybrać jakiś dozwolony znak\n");

    break;

}

    return 0;

}

    void dodaj_projekt()

{

    char tytul[50];

    char plik[40];

    char tresc[255];

    char nazwisko[30];

    int ocena;

    printf("Podaj nazwe pliku\n");

    scanf("%35s",plik);

    printf("Podaj nazwe tytulu\n");

    scanf("%s",tytul);

    printf("Podaj zawartosc tresci\n");

    while(getchar()!='\n') {}

    fgets(tresc,255,stdin);

    printf("Podaj nazwisko\n");

    scanf("%s",nazwisko);

    printf("Podaj ocene\n");

    scanf("%d",&ocena);

//char plik2[40];

    if ( !strstr(plik,".") )

{

    strcat(plik,".txt");

}

    FILE *file;

    FILE *file2;

    if (file2 = fopen(plik,"r") == NULL)

{

    file = fopen(plik,"w+");

    fprintf (file, "%s", tytul);

    fprintf (file, "%c", '\n');

    fprintf (file, "%s", nazwisko);

    fprintf (file, "%c", '\n');

    fprintf (file, "%d", ocena);

    fprintf (file, "%c", '\n');

    fprintf (file, "%s", tresc);

}

    else

{

    printf("Jest juz podany projekt\nZacznijmy wszystko od nowa\n");

    close(file2);

    dodaj_projekt();

}

    close(file);

}

    void usun_projekt()

{

    char plik[40];

    printf("Podaj nazwe projektu, ktory chcesz usunac\n");

    scanf("%s",plik);

    if ( !strstr(plik,".") )

{

    strcat(plik,".txt");

}

    FILE *file;

    if (file = fopen(plik,"r") != NULL)

{

    remove(plik);

}

    else

{

    printf("Nie ma takiego projektu\n Zacznijmy wszystko od nowa\n");

    usun_projekt();

}

}

    void edytuj_projekt()

{

    char plik[40];

    printf("Podaj nazwe projektu, ktory chcesz edytowac\n");

    scanf("%s",plik);

    if ( !strstr(plik,".") )

{

    strcat(plik,".txt");

}

    FILE *file;

    FILE *f=fopen("plik","rta");

    if (file = fopen(plik,"tra") != NULL){}

}

    void wyswietl_projekt()

{

    char plik[40];

    printf("Podaj nazwe projektu, ktory chcesz wyswietlic\n");

    scanf("%s",plik);

    if ( !strstr(plik,".") )

{

    strcat(plik,".txt");

}

    FILE *file;

    char uchwyt[255];

    int wynik;

    if (file = fopen(plik,"r") != NULL)

{

//feof(file);

//while ( wynik = fgets(uchwyt,255,file) != EOF) {

//printf("%s",);

// }

}

    else

{

    printf("Nie ma takiego projektu\n Zacznijmy wszystko od nowa\n");

    wyswietl_projekt();

}

}

    void szczegol_projekt()

{

    char plik[40];

    printf("Podaj nazwe projektu, ktorego szczegoly chcesz wyswietlic\n");

    scanf("%s",plik);

    if ( !strstr(plik,".") ){}

    strcat(plik,".txt");

}

    void auto_projekt()

{

}

    void zapis_i_odczyt()

{

    char plik[40];

    printf("Zapis i odczyt bazy danych z pliku\n");

    scanf("%s",plik);

    if ( !strstr(plik,".") ){}

    strcat(plik,".txt");

}

Chodzi mi glownie o edycje tego pliku bo probowalam ale nie wychodzi w zaden sposob.. Bylabym niezmiernie wdzieczna za jakakolwiek pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0