Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

C++ задача

Featured Replies

Здравейте ) който разбира от програмиране на C++ да я драсне набързо задачката/ако може с #include<stdio.h>/ Благодаря предварително))

Да се състави програма за състезание по ориентиране на ученици, която поддържа следната информация за участниците:
име, ЕГН, клас, училище, брой точки;
и извършва следните операции:
създава нов празен файл; добавя нова информация за участници и изтрива ненужната за отказали се; извежда имената на всички ученици от дадено училище; извежда името и училището за всички момичета, които имат повече от 20 точки.

Редактирано от Магдаленаг
Правопис (преглед на промените)

Честно, вече ми писна да го повтарям. Тука не се пишат домашни на готово.

Не заслужаваш. Като не можеш да напишеш нищо, а си тръгнала 2-ра година в университет - напускай.
Има много места за чистачки, садене на картофи и чистене на улиците.
Големи готованковци станахте.
Ама месинджъра и фейса могат да дрънчат през 2 минути и за тях имате време.
И само да те светна - stdio.h e библиотека на C, а еквивалентът й на c++ e iostream

Редактирано от Гост (преглед на промените)

преди 7 минути, simtech написа:

И само да те светна - stdio.h e библиотека на C, а еквивалентът й на c++ e iostream

Даже и не знае какво учи.

преди 3 минути, niki292002 написа:

Даже и не знае какво учи.

Всъщност почти всички библиотеки от C могат да се ползват и в C++, отделно че може да се пише смесен код.
За повечето среди и компилатори няма проблем.

  • Автор
преди 20 часа, simtech написа:

Не заслужаваш. Като не можеш да напишеш нищо, а си тръгнала 2-ра година в университет - напускай.
Има много места за чистачки, садене на картофи и чистене на улиците.
Големи готованковци станахте.
Ама месинджъра и фейса могат да дрънчат през 2 минути и за тях имате време.
И само да те светна - stdio.h e библиотека на C, а еквивалентът й на c++ e iostream

Човек...никак не си позитивен хахх..1-ва година съм..и по-добре вместо да пишеш такива неща не отговаряй нищо ))

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <functional>

FILE* d;
FILE* temp;

struct student
{
	char name[64];
	char egn[16];
	char grade[8];
	char school[32];
	char points[16];
}st;

void createnew()
{
	d = fopen("data.txt", "wb");
	fclose(d);
	printf("\nNew database created\n");
}

void addNew()
{
	fflush(stdin);
	printf("\nname = ");
	fgets(st.name, 63, stdin);
	printf("\negn = ");
	fgets(st.egn, 15, stdin);
	printf("\ngrade = ");
	fgets(st.grade, 7, stdin);
	printf("\nschool = ");
	fgets(st.school, 31, stdin);
	printf("\npoints = ");
	fgets(st.points, 31, stdin);
	d = fopen("data.txt", "ab");
	if (d == nullptr)
	{
		printf("\nFile open error\n");
		return;
	}
	fwrite(&st, sizeof(st), 1, d);
	fclose(d);
}

void deleteUnnecessary()
{
	char key[16];
	printf("\negn = ");
	fgets(key, 15, stdin);
	d = fopen("data.txt", "rb");
	if (d == nullptr)
	{
		printf("\nFile open error\n");
		return;
	}
	temp = fopen("temp.txt", "wb");
	if (temp == nullptr)
	{
		printf("\nFile open error\n");
		fclose(d);
		return;
	}
	bool found = false;
	while (!feof(d))
	{
		fread(&st, sizeof(st), 1, d);
		if (strcmp(key, st.egn) == 0)
		{
			found = true;
			continue;
		}
		fwrite(&st, sizeof(st), 1, temp);
	}
	fclose(d);
	fclose(temp);
	remove("data.txt");
	rename("temp.txt", "data.txt");
	if (found)
	{
		printf("\nStudent with egn %s deleted successfully\n", key);
		return;
	}
	printf("\nEgn %s not found in the data base\n", key);
}

void outputSingleSchool()
{
	char key[32];
	printf("\nschool = ");
	fgets(key, 31, stdin);
	d = fopen("data.txt", "rb");
	if (d == nullptr)
	{
		printf("\nFile open error\n");
		return;
	}
	bool found = false;
	while (true)
	{
		fread(&st, sizeof(st), 1, d);
		if (feof(d)) break;
		if (strcmp(st.school, key) == 0)
		{
			found = true;
			printf("\n%s\n%s\n%s\n%s\n%s\n\n", st.name, st.egn, st.grade, st.school, st.points);
		}
	}
	fclose(d);
	if (found == false)
	{
		printf("\nSchool %s not found in the data base\n\n", key);
	}
}

void outputGirlsMoreThan20Points()
{
	d = fopen("data.txt", "rb");
	if (d == nullptr)
	{
		printf("\nFile open error\n");
		return;
	}
	bool found = false;
	while (!feof(d))
	{
		fread(&st, sizeof(st), 1, d);
		if ((strtol(st.points, 0, 10) > 20) && (st.egn[8] % 2 == 1))
		{
			found = true;
			printf("\n%s\n%s\n%s\n%s\n%s\n\n", st.name, st.egn, st.grade, st.school, st.points);
		}

	}
	fclose(d);
	if (found == false)
	{
		printf("\nNo girls with more than 20 points\n");
	}
}

void finito()
{
	exit(0);
}

std::function<void()> command[] = 
{
	createnew,
	addNew,
	deleteUnnecessary,
	outputSingleSchool,
	outputGirlsMoreThan20Points,
	finito
};

int main()
{
	char input[32];
	int n;
	for (;;)
	{
		printf("\n0 - Create new database\n");
		printf("1 - Add new participant\n");
		printf("2 - Delete unnecessary\n");
		printf("3 - Output by school\n");
		printf("4 - Output girls with more than 20 points\n");
		printf("5 - Exit\n\n");
		scanf("%d", &n);
		fgets(input, 16, stdin);
		if ((n >= 0) && (n <= 5)) command[n]();
	}
    return 0;
}

 

Редактирано от Реджеп Иведик (преглед на промените)

  • Автор
преди 1 час, Реджеп Иведик написа:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <functional>

FILE* d;
FILE* temp;

struct student
{
	char name[64];
	char egn[16];
	char grade[8];
	char school[32];
	char points[16];
}st;

void createnew()
{
	d = fopen("data.txt", "wb");
	fclose(d);
	printf("\nNew database created\n");
}

void addNew()
{
	fflush(stdin);
	printf("\nname = ");
	fgets(st.name, 63, stdin);
	printf("\negn = ");
	fgets(st.egn, 15, stdin);
	printf("\ngrade = ");
	fgets(st.grade, 7, stdin);
	printf("\nschool = ");
	fgets(st.school, 31, stdin);
	printf("\npoints = ");
	fgets(st.points, 31, stdin);
	d = fopen("data.txt", "ab");
	if (d == nullptr)
	{
		printf("\nFile open error\n");
		return;
	}
	fwrite(&st, sizeof(st), 1, d);
	fclose(d);
}

void deleteUnnecessary()
{
	char key[16];
	printf("\negn = ");
	fgets(key, 15, stdin);
	d = fopen("data.txt", "rb");
	if (d == nullptr)
	{
		printf("\nFile open error\n");
		return;
	}
	temp = fopen("temp.txt", "wb");
	if (temp == nullptr)
	{
		printf("\nFile open error\n");
		fclose(d);
		return;
	}
	bool found = false;
	while (!feof(d))
	{
		fread(&st, sizeof(st), 1, d);
		if (strcmp(key, st.egn) == 0)
		{
			found = true;
			continue;
		}
		fwrite(&st, sizeof(st), 1, temp);
	}
	fclose(d);
	fclose(temp);
	remove("data.txt");
	rename("temp.txt", "data.txt");
	if (found)
	{
		printf("\nStudent with egn %s deleted successfully\n", key);
		return;
	}
	printf("\nEgn %s not found in the data base\n", key);
}

void outputSingleSchool()
{
	char key[32];
	printf("\nschool = ");
	fgets(key, 31, stdin);
	d = fopen("data.txt", "rb");
	if (d == nullptr)
	{
		printf("\nFile open error\n");
		return;
	}
	bool found = false;
	while (true)
	{
		fread(&st, sizeof(st), 1, d);
		if (feof(d)) break;
		if (strcmp(st.school, key) == 0)
		{
			found = true;
			printf("\n%s\n%s\n%s\n%s\n%s\n\n", st.name, st.egn, st.grade, st.school, st.points);
		}
	}
	fclose(d);
	if (found == false)
	{
		printf("\nSchool %s not found in the data base\n\n", key);
	}
}

void outputGirlsMoreThan20Points()
{
	d = fopen("data.txt", "rb");
	if (d == nullptr)
	{
		printf("\nFile open error\n");
		return;
	}
	bool found = false;
	while (!feof(d))
	{
		fread(&st, sizeof(st), 1, d);
		if ((strtol(st.points, 0, 10) > 20) && (st.egn[8] % 2 == 1))
		{
			found = true;
			printf("\n%s\n%s\n%s\n%s\n%s\n\n", st.name, st.egn, st.grade, st.school, st.points);
		}

	}
	fclose(d);
	if (found == false)
	{
		printf("\nNo girls with more than 20 points\n");
	}
}

void finito()
{
	exit(0);
}

std::function<void()> command[] = 
{
	createnew,
	addNew,
	deleteUnnecessary,
	outputSingleSchool,
	outputGirlsMoreThan20Points,
	finito
};

int main()
{
	char input[32];
	int n;
	for (;;)
	{
		printf("\n0 - Create new database\n");
		printf("1 - Add new participant\n");
		printf("2 - Delete unnecessary\n");
		printf("3 - Output by school\n");
		printf("4 - Output girls with more than 20 points\n");
		printf("5 - Exit\n\n");
		scanf("%d", &n);
		fgets(input, 16, stdin);
		if ((n >= 0) && (n <= 5)) command[n]();
	}
    return 0;
}

 

Много, многоо благодаря))

на 11.05.2017 г. в 21:39, Магдаленаг написа:

Човек...никак не си позитивен хахх..1-ва година съм..и по-добре вместо да пишеш такива неща не отговаряй нищо ))

И какво като си първа година? Като отидеш 3-та част висша математика с двойни интеграли тука интегралите на изпита ти ли ще ти решаваме? А може би като отидеш микропроцесорна електроника 3-ти курс, да ти пишеме и асемблерските програми?
Ето за тва от днешните студенти нищо не става, защото повечето като теб гледат да минат тънка лайсна, без да се мъчат и учат. Такива дето са само за изкласяване - на полето да берат картофи или да чистят контейнерите.

преди 21 часа, Магдаленаг написа:

Много, многоо благодаря))

Това е на C, не на C++ И се надявам да те изхваща преподавателят и да ти тресне двойката.
Аз съм бил тъп навремето сам да си ги пиша, да се мъча и да чета. Готованковци.

Редактирано от Гост (преглед на промените)

  • Автор
преди 2 часа, simtech написа:

И какво като си първа година? Като отидеш 3-та част висша математика с двойни интеграли тука интегралите на изпита ти ли ще ти решаваме? А може би като отидеш микропроцесорна електроника 3-ти курс, да ти пишеме и асемблерските програми?
Ето за тва от днешните студенти нищо не става, защото повечето като теб гледат да минат тънка лайсна, без да се мъчат и учат. Такива дето са само за изкласяване - на полето да берат картофи или да чистят контейнерите.

Това е на C, не на C++ И се надявам да те изхваща преподавателят и да ти тресне двойката.
Аз съм бил тъп навремето сам да си ги пиша, да се мъча и да чета. Готованковци.

Всички оценки са изкарани само и единствено с мои знания и труд..математиката ми се отдава понеже учих в мат гимназия..и дори не знам защо се обяснявам на човек, който не познавам, но явно не обичам да ме подценяват..на курсовите по програмиране не ни пишат оценки, а са ни нужни само, за да ни допуснат до изпит..мисля че това ти е достатъчно. Бъди по-позитивен и добронамерен към другите, а и най-вече към теб, защото не искам и аз да почвам да се заяждам..безсмислено е

Screenshot_2017-05-13-15-25-21.png

Screenshot_2017-05-13-15-25-15.png

преди 7 минути, Магдаленаг написа:

на курсовите по програмиране не ни пишат оценки, а са ни нужни само, за да ни допуснат до изпит..мисля че това ти е достатъчно. Бъди по-позитивен и добронамерен към другите, а и най-вече към теб, защото не искам и аз да почвам да се заяждам..безсмислено е

Така ти се струва, че се заяждам. Истината е, че те побутвам да научиш нещо. Въпреки, че за курсовите работи не пишат оценки, това не означава че няма да ти трябват тези знания. А на изпита според теб какво ще има?
Сега, освен аз да си снимам книжката. Имал съм среден успех 5.52 от всички години.
Когато аз учих преди 5-6години, имаше много колеги и колежки, които пак търсеха тънка лайсна. Някои от тях зубреха и някак минаваха изпитите. Но беше парадокс, че 3-ти курс Компютърни Системи не може да си преинсталира лаптопа...И не прави разлика между транзистор и резистор. И едвам пише Hello World.

Редактирано от Гост (преглед на промените)

  • Автор
преди 4 минути, simtech написа:

Така ти се струва, че се заяждам. Истината е, че те побутвам да научиш нещо. Въпреки, че за курсовите работи не пишат оценки, това не означава че няма да ти трябват тези знания. А на изпита според теб какво ще има?
Сега, освен аз да си снимам книжката. Имал съм среден успех 5.52 от всички години.

Не се съмнявам, че имаш висок успех, дори се радвам и възхищавам на хора като теб, както и не обичам да споря с хора, които знаят повече от мен, без значение за какво се отнася, но не е приятно някой да ти каже отивай бери ягоди, маслини и т.н..) И да..това че искам помощ за курсовите в крайна сметка ще се отрази на мен ми е пределно ясно, но пък нещата винаги се получават в последния момент при мен, защото чак тогава си давам зор, колкото и тъпо да звучи.

/А за това, че си снимках книжката..с цел само да покажа, че не лъжа.. програмирането не ми е силата/

преди 5 минути, Магдаленаг написа:

но пък нещата винаги се получават в последния момент при мен, защото чак тогава си давам зор, колкото и тъпо да звучи.

:D Познато! Аз курсовите работи съм ги правил последните 1-2 дни от срока посред нощ. Докато се накаааняяя...
Ама си се записала Компютри. Ще учиш САМО и ПРЕДИМНО програмиране и математика. Висша, дискретна, двоична, синтез на логически схеми..
Ще имаш Обектно-Ориентирано...
Java, C++, JavaScript, C#, класове...PHP, HTML...

Редактирано от Гост (преглед на промените)

  • Автор
преди 5 минути, simtech написа:

:D Познато! Аз курсовите работи съм ги правил последните 1-2 дни от срока посред нощ. Докато се накаааняяя...
Ама си се записала Компютри. Ще учиш САМО и ПРЕДИМНО програмиране и математика. Висша, дискретна, двоична, синтез на логически схеми..
Ще имаш Обектно-Ориентирано...
Java, C++, JavaScript, C#, класове...PHP, HTML...

Е с javascript и html нямам проблеми, защото в гимназията сме ги учили, но не смятам да се отказвам от унито както повечето ми колеги макар че знам какво ме чака занапред ))

преди 6 минути, Магдаленаг написа:

Е с javascript и html нямам проблеми, защото в гимназията сме ги учили, но не смятам да се отказвам от унито както повечето ми колеги макар че знам какво ме чака занапред ))

Нищо не сте учили в гимназията. Гимназиалното ниво го забрави. Като ти изтряскат теоретична електротехника да решаваш триъгълник на мощностите и векторна диаграма на фазите в 3 фазна система... Казвам ти, не е толкова лесно. Опичай си акъла.
Иначе дори и да го завършиш някак, пак си обречена да береш картофи.
А HTML е лесно, ама ще искат и да пишеш сайт на PHP/HTML/JS, който да работи.

Редактирано от Гост (преглед на промените)

  • Автор
преди 8 минути, simtech написа:

Нищо не сте учили в гимназията. Гимназиалното ниво го забрави. Като ти изтряскат теоретична електротехника да решаваш триъгълник на мощностите и векторна диаграма на фазите в 3 фазна система... Казвам ти, не е толкова лесно. Опичай си акъла.
Иначе дори и да го завършиш някак, пак си обречена да береш картофи.
А HTML е лесно, ама ще искат и да пишеш сайт на PHP/HTML/JS, който да работи.

Напълно си прав, но лично за мен не бих се примирила с такова бъдеще. Познавам хора, които са завършили същата специалност, разбират нещата, хвърлили са адски много труд и накрая работят като..майстори в сервизи за велосипеди или сервитьори..ще си опичам акъла ;) все пак го правя заради баба ми понеже ако не беше тя нямаше и да съм записана в уни

  • 2 седмици по-късно...
  • Автор
на 12.05.2017 г. в 13:47, Реджеп Иведик написа:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <functional>

FILE* d;
FILE* temp;

struct student
{
	char name[64];
	char egn[16];
	char grade[8];
	char school[32];
	char points[16];
}st;

void createnew()
{
	d = fopen("data.txt", "wb");
	fclose(d);
	printf("\nNew database created\n");
}

void addNew()
{
	fflush(stdin);
	printf("\nname = ");
	fgets(st.name, 63, stdin);
	printf("\negn = ");
	fgets(st.egn, 15, stdin);
	printf("\ngrade = ");
	fgets(st.grade, 7, stdin);
	printf("\nschool = ");
	fgets(st.school, 31, stdin);
	printf("\npoints = ");
	fgets(st.points, 31, stdin);
	d = fopen("data.txt", "ab");
	if (d == nullptr)
	{
		printf("\nFile open error\n");
		return;
	}
	fwrite(&st, sizeof(st), 1, d);
	fclose(d);
}

void deleteUnnecessary()
{
	char key[16];
	printf("\negn = ");
	fgets(key, 15, stdin);
	d = fopen("data.txt", "rb");
	if (d == nullptr)
	{
		printf("\nFile open error\n");
		return;
	}
	temp = fopen("temp.txt", "wb");
	if (temp == nullptr)
	{
		printf("\nFile open error\n");
		fclose(d);
		return;
	}
	bool found = false;
	while (!feof(d))
	{
		fread(&st, sizeof(st), 1, d);
		if (strcmp(key, st.egn) == 0)
		{
			found = true;
			continue;
		}
		fwrite(&st, sizeof(st), 1, temp);
	}
	fclose(d);
	fclose(temp);
	remove("data.txt");
	rename("temp.txt", "data.txt");
	if (found)
	{
		printf("\nStudent with egn %s deleted successfully\n", key);
		return;
	}
	printf("\nEgn %s not found in the data base\n", key);
}

void outputSingleSchool()
{
	char key[32];
	printf("\nschool = ");
	fgets(key, 31, stdin);
	d = fopen("data.txt", "rb");
	if (d == nullptr)
	{
		printf("\nFile open error\n");
		return;
	}
	bool found = false;
	while (true)
	{
		fread(&st, sizeof(st), 1, d);
		if (feof(d)) break;
		if (strcmp(st.school, key) == 0)
		{
			found = true;
			printf("\n%s\n%s\n%s\n%s\n%s\n\n", st.name, st.egn, st.grade, st.school, st.points);
		}
	}
	fclose(d);
	if (found == false)
	{
		printf("\nSchool %s not found in the data base\n\n", key);
	}
}

void outputGirlsMoreThan20Points()
{
	d = fopen("data.txt", "rb");
	if (d == nullptr)
	{
		printf("\nFile open error\n");
		return;
	}
	bool found = false;
	while (!feof(d))
	{
		fread(&st, sizeof(st), 1, d);
		if ((strtol(st.points, 0, 10) > 20) && (st.egn[8] % 2 == 1))
		{
			found = true;
			printf("\n%s\n%s\n%s\n%s\n%s\n\n", st.name, st.egn, st.grade, st.school, st.points);
		}

	}
	fclose(d);
	if (found == false)
	{
		printf("\nNo girls with more than 20 points\n");
	}
}

void finito()
{
	exit(0);
}

std::function<void()> command[] = 
{
	createnew,
	addNew,
	deleteUnnecessary,
	outputSingleSchool,
	outputGirlsMoreThan20Points,
	finito
};

int main()
{
	char input[32];
	int n;
	for (;;)
	{
		printf("\n0 - Create new database\n");
		printf("1 - Add new participant\n");
		printf("2 - Delete unnecessary\n");
		printf("3 - Output by school\n");
		printf("4 - Output girls with more than 20 points\n");
		printf("5 - Exit\n\n");
		scanf("%d", &n);
		fgets(input, 16, stdin);
		if ((n >= 0) && (n <= 5)) command[n]();
	}
    return 0;
}

 

Пич..ще може ли да те помоля да ми пратиш скрийншотове на 2-3 варианта на работещата програма )) 

  • Автор
преди 1 час, Реджеп Иведик написа:

Маце... ми тя е работеща, копирай я, компилирай я и си направи скрийн шотове

Преди няколко дена се пробвах да я пусна, но с dev+ ..защото в Русе нямам комп ;д и нещата за унито ги пратя там в библиотеката ;д и даваше грешки при if-овете. Видях че си правил и редакции на кода :) днес ще пробвам пак ))

  • Автор
преди 18 минути, Реджеп Иведик написа:

Съжалявам. На вижуъл студио я пускам, работи.

Няма проблеми ) ще помоля някой с visual studio да ми цъкне няколко скрийна ))

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.