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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

Грешка при линкване?

Featured Replies

Здравейте. Имам проблем с линкването на програма. Според мен проблемът идва от предаването на параметрите на функциите (не съм сигурен, че съм ги написал правилно)... ако може някой да ми помогне ;) Ето целия код... функциите се викат в menu()-то. Благодаря предварително.

#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <iomanip.h>
#include <cstdlib>
void menu();			//prototipi na f-cii
void save();
void check(char nizz[80]);
void check1(char nizz[80]);
void check2(char nizz[80]);
void check3(char nizz[80]);
void dumi(char nizz[80]);

void main()
{
	save();
	menu();
}
void menu(char nizz[80])
{

	int ch, ch1, ch2;
	do{
	system("cls");
	do{
	cout<<endl<<"****************MENU****************";
	cout<<endl<<"1.Broi simvoli.";
	cout<<endl<<"2.4-bukveni dumi.";
	cout<<endl<<"3.Izvejdane na masiva.";
	cout<<endl<<"4.Krai.";
	cout<<endl<<endl<<"Molq vavedete vashiq izbor: ";
	cin>>ch;
	}while(ch<1||ch>5);		//prowerka za walidnost na ch
	switch(ch)
	{
	case 1: check(nizz); break;
	case 2:	do{	cout<<endl<<"**********4-bukveni dumi**********";
				cout<<endl<<"1.Broi 4-bukveni dumi: ";
				cout<<endl<<"2.Zamenete 4-bukvenite dumi s '****'.";
				cout<<endl<<"3.Premahnete 4-bukvenite dumi.";
				cout<<endl<<endl<<"Molq vavedete vashiq izbor: ";
				cin>>ch2;
			}while(ch2<1||ch2>3);
				switch(ch2){
				case 1: check1(nizz); break;
				case 2: check2(nizz); break;
				case 3: dumi(nizz); break;
				default : cout<<endl<<"Greshen izbor, obitajte otnovo!"; 
				} break;
	case 3: do{
			cout<<endl<<"*********Izvejdane na masiva*********";
			cout<<endl<<"1.Izvejdane na masiva.";
			cout<<endl<<"2.Izvejdane na masiva bez '$' v kraq.";
			cout<<endl<<endl<<"Molq vavedete vashiq izbor: ";
			cin>>ch1;
			}while(ch1<1||ch1>2);
			switch(ch1){
			case 1: cout<<endl<<"Masiv: "<<nizz<<endl; system("pause"); menu(); break;	//izvejda masiva
			case 2: check3(nizz); break;
			default : cout<<endl<<"Greshen izbor, obitajte otnovo!"; 
			} break;
	case 4: cout<<endl<<"Dovijdane "<<endl; break;
	default : cout<<endl<<"Greshen izbor, obitajte otnovo!"; 
	}
	}
	while(ch!=4);
}
void save(char nizz[80])
{
	char *niz;
	FILE *fp;
	niz=nizz;
	cout<<"Molq vavedete tekst do 80 simvola: ";
	cin.getline(nizz,80);	
	if(strlen(nizz)<80) strcat(nizz," $");	//dobavq $ ako masivyt e po-maluk ot 80 simvola
	fp = fopen("text.txt", "a+");	//otvarq faila za dopylvane
	if (fp){
		while (*niz != '\0'){	//zapiswa vseki simvol ot nizz, dokato ne sre6tne kraq na masiwa
			putc(*niz, fp);
			niz++;
		}
		putc('\n', fp);	//dobavq nov red v kraq
		fclose(fp);	//zatvarq faila
	}
	else printf("cannot open file");
}

void check(char nizz[80])
{
	cout<<endl<<"Broi simvoli: "<<strlen(nizz)<<endl;	//izvejda broq na simvolite v nizz
	system("pause");
}

void check1(char nizz[80])
{
	int i=0, count=0, j=0, br=0;
	for(i;i<80;i++)	//cikyl, koito minava prez masiva
	if(nizz[i] == 0x20 || i==strlen(nizz)){		//ako sre6tne " " ili stigne do kraq na masiva
		if (count == 4) br++;		 //ako dumata e 4-bukvena, broq4yt se inkrementira		
		count = 0;					//nulira se broq4a sled kato stigne do " " ili kraq na masiva
	} else 	count++;				//inkrementira se broq na bukvite
	cout<<endl<<"Broi 4-bukveni dumi: "<<br<<endl;
	system("pause");
}

void check2(char nizz[80])
{
	int i=0, count=0, a=0;
	for(i;i<80;i++)		//cikyl, koito minava prez masiva
	if(nizz[i] == 0x20 || i==strlen(nizz)){		//ako sre6tne " " ili stigne do kraq na masiva
		if (count == 4) {	//ako dumata e 4-bukvena
			for (a=i-4 ;a<i;a++) nizz[a]=0x2A;	//zamenq 4-bukvenata dima s '****'
		}
		count = 0;		//nulira se broq4a sled kato stigne do " " ili kraq na masiva
	} else 	count++;	//inkrementira se broq na bukvite
	cout<<endl<<"Masiv: "<<nizz<<endl;		//izvejda masiva, sled kato 4-bukvenite dumi sa zameneni s '****'
	system("pause");
}

void check3(char nizz[80])
{
	cout<<endl<<"Masiv: ";
	for(int g=0;g<=(strlen(nizz))-2;g++) //izvejda masiva bez poslednite 2 simvola(" $")
		cout<<nizz[g];
	cout<<endl;
	system("pause");
}

void dumi(char nizz[80])
{
	char dumi[80]="";
	int i=0, count=0, a, j;
	for(i; i<80; i++){							//cikyl, koito minava prez masiva
		if(nizz[i] == 0x20 || i==strlen(nizz)){	//ako sre6tne " " ili stigne do kraq na masiva
			if (count != 4) {					//ako dumata ne e 4-bukvena 
				for(a=i-count; a<=i; a++)		//se kopira v dumi[]
				dumi[strlen(dumi)]=nizz[a];
			}
		count = 0;			//nulira se broq4a sled kato stigne do " " ili kraq na masiva
		} else 	count++;	//inkrementira se broq na bukvite
	}
	for(j=0; j<80; j++)		//masivyt bez 4-bukvenite dumi se kopira v nizz
		nizz[j]=dumi[j];
	cout<<endl<<"Bez 4-bukvenite dumi: "<<nizz; //nizz se izvejda
	cout<<endl;
	system("pause");
}

Оправих се, извинявам се за спама!

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

Регистрирайте се или влезете в профила си за да коментирате

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

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

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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